Claro que al usar MySQL, usa mysqli_real_escape_string()
y verifica que el tipo de entrada recibida sea del tipo que esperas (cadena, número, etc.) y puedes estar seguro de que puedes usarla como entrada al mysqli_query()
con bastante seguridad ... ¿no?Cadena de escape para usar en mail()
Bueno, las preguntas son:
- ¿Cuál es la mejor manera de escapar de una cadena que va a ser utilizado en
mail()
? - Si el destinatario del correo electrónico será la dirección de correo electrónico ingresada en un campo de texto, ¿qué cosas debo tener cuidado para evitar inyecciones o explotaciones?
Tengo una muy buena idea de cómo hacerlo, pero estoy investigando las mejores prácticas en este tema para saber si me falta algo, o si hay una manera mejor.
EDIT: La idea de esta pregunta es no tener LA respuesta, pero para hacer una lista exhaustiva de colaboración de todas las cosas para cuidar de correo electrónico cuando se hace con PHP.
No puedo pensar en ataques XSS y las inyecciones de cabecera tal vez; para sanitizar su html (si está usando ese tipo MIME), y asegúrese de que nadie ingrese código personalizado en sus encabezados de correo –
Pele cualquier carácter no imprimible, use codificación US-ASCII. Eliminar \ r \ n caracteres también. Convierte pestañas en espacios. – hakre
Excelente pregunta. Solo desearía no haber agotado mi patético límite de votos por el día. –