¿Esta función de correo () está segura de la inyección de cabecera?
Estoy construyendo un formulario de contacto simple para un sitio web. No se conecta a una base de datos, solo envía el correo electrónico. ¿Este código evitará que los spammers utilicen inyecciones de encabezado? ¿Hay alguna vulnerabilidad que no esté viendo?
//create short variable names
$name= filter_var($_POST['Name'],FILTER_SANITIZE_STRING);
$email= filter_var($_POST['Email'],FILTER_SANITIZE_STRING, FILTER_VALIDATE_EMAIL);
$subject= filter_var($_POST['Subject'],FILTER_SANITIZE_STRING);
$message= filter_var($_POST['Message'],FILTER_SANITIZE_STRING);
//set up some static information
$toaddress = '[email protected],[email protected]';
$mailcontent = "Customer name: ".$name."\n".
"Customer email: ".$email."\n".
"Subject: ".$subject."\n\n".
$message;
$fromaddress = "From:" . $email;
//invoke mail() function to send mail
mail($toaddress, "Website Contact Form",$mailcontent, $fromaddress);
?>