Dado un formulario de contacto que acepta la entrada de usuario personalizada (por ejemplo, dirección, asunto, mensaje), ¿cuáles son algunas de las implicaciones de seguridad y "errores" a tener en cuenta?Correo de PHP(): ¿Cuáles son los posibles problemas a tener en cuenta?
Como mínimo, la dirección de correo electrónico del usuario tendrá que ser validada (probablemente usando filter_var() o equivalente). Por lo que he leído, esto también debería evitar que se inserten encabezados adicionales en el script.
¿Qué pasa con la línea de asunto y el contenido del mensaje? ¿Se requiere saneamiento para esos campos? Me imagino que un cliente de correo electrónico evitaría que cosas como las secuencias de comandos se ejecuten automáticamente, y no estoy particularmente preocupado por cosas como etiquetas HTML (si alguien quiere dedicar tiempo a diseñar un correo electrónico a mano, esa es su prerrogativa, simplemente no lo haré). estar viendo esto: P). Si el saneamiento es requerido, ¿cuál es la mejor manera de hacerlo sin ser demasiado intrusivo (es decir, manteniendo la naturaleza del correo electrónico igual)?
posible duplicado de [¿Por qué no debería usar la función de correo de PHP()?] (Http://stackoverflow.com/questions/4565066/why-shouldnt-i-use-phps-mail-function) –
@Rafe realmente no, creo El OP pregunta específicamente sobre el saneamiento, que el embaucador no aborda –
Sin embargo, ese hilo despertó mi interés. Nunca he encontrado la necesidad de utilizar la función mail() antes y sospeché que las cosas se podrían desorganizar muy rápidamente. : P – Illianthe