Pregunta

En un sitio web si tengo un formulario donde el usuario puede introducir texto y, a continuación, una página que muestra lo que el usuario ha introducido, sé que a html codificar los valores que el usuario ha introducido para evitar ataques de secuencias de comandos.Si el formulario fue el envío de correos html supongo que yo haría lo mismo pero hay casos especiales para los correos electrónicos y los clientes de correo electrónico ejecutar el script inyectado en el correo electrónico?

¿Fue útil?

Solución

Definitivamente, usted debe de codificación de HTML antes de asignar el contenido publicado a el HTML en el cuerpo de un correo electrónico.El código debería ya estar rechazando el contenido como '<script>' as invalid, not just in the case of an email but in all cases.

No hay otras consideraciones que usted necesita preocuparse.

Otros consejos

Mientras que todavía sería una buena idea a la franja de <script> las etiquetas de su documento antes de enviarlo, creo que la amenaza es baja.Creo que sería difícil encontrar a un cliente de correo electrónico (sigue recibiendo apoyo) que no tira de secuencias de comandos antes de la representación de un correo electrónico.

Yo creo que al marcar el cuerpo del correo electrónico como texto sin formato evitaría javascript y/o ataques html (pero no la confianza de outlook siguiendo lo que los encabezados que se sugieren).

Usted debe usar un SMTP de la biblioteca que lleva la carga (y errores potenciales) que son causadas por duplicado o falta de escapar.A continuación, utilice el texto de los correos sólo (text/plain).

Para evitar problemas de seguridad con buggy clientes de correo, también puedes enviar un casi vacío de correo, y el texto como archivo adjunto (archivo de extensión ".txt" content-type "text/plain").

Yo recomiendo el uso de una solución probada para el envío de mails.Si estás pasando una entrada de usuario, es decir, la de PHP mail() de la función, incluso con la codificación HTML--es posible para un atacante crear un "cuerpo" que en realidad contiene los encabezados para crear un mensaje de varias partes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top