Tengo funcionalidad de fusión de correspondencia, que toma una plantilla, un objeto comercial y produce html que luego se convierte en PDF.¿Qué tan peligroso es permitir que los usuarios especifiquen las plantillas de RazorEngine?
Estoy usando RazorEngine para hacer la plantilla + modelo a bit html.
Si dejo que los usuarios especifiquen las plantillas, ¿qué riesgos estoy tomando? ¿Es posible mitigar cualquier riesgo?
Por ejemplo, ¿podrían los usuarios ejecutar código arbitrario? (eliminar archivos, alterar la base de datos, etc.?) ¿Hay alguna forma en que pueda detectar este tipo de cosas? (Sé que sería imposible en general, pero los bits de código en la plantilla de la máquina de afeitar deberían ser propiedades de la propiedad del modelo, o posiblemente si las declaraciones se basan en los valores de las propiedades del modelo).
Básicamente confío en los usuarios aquí (es un pequeño proyecto privado), pero como los motores de plantillas van, este parece excesivamente poderoso para esta aplicación.
Gracias. Estoy buscando en otro lugar un motor de plantillas ahora.Sintió que Razor era inseguro en esta aplicación, pero no encontré a nadie haciendo esta advertencia (y hay muchos artículos sobre cómo usarlo para combinar correspondencia). – Greg