Estoy usando Django Contact Form en un sitio web para permitir a los visitantes enviar correos electrónicos.¿Debo escapar caracteres al enviar correos electrónicos?
Actualmente, está escapando caracteres, por lo que las comillas simples y dobles se convierten a '
y "
respectivamente. Los correos electrónicos serían más legibles si las comillas se mostraran como '
y "
.
Entiendo por qué nunca debo poner entrada no guardada de los visitantes en mis páginas web, debido al riesgo de xss. ¿Existe el mismo riesgo con los correos electrónicos, o está bien enviar los datos no escaneados del visitante?
Sí, son correos electrónicos de texto plano. Creo que estaba siendo demasiado paranoico, y me preocupaba que un lector de correo electrónico analizara el texto simple como html. – Alasdair
No es necesario ser paranoico, ya que su correo electrónico estará en formato de texto sin formato, por lo que los clientes "deberían" interpretarlo como texto sin formato y no notar las etiquetas. – Humphrey
No puede convertir un correo electrónico de texto sin formato en un correo electrónico HTML con solo incluir HTML en el cuerpo. El encabezado 'Content-Type: text/html' le dice al cliente que es HTML, mientras que' Content-Type: text/plain' es para mensajes de texto sin formato. Si no hay un encabezado presente, se asume el texto predeterminado. –