现在最好的做法是如何从PHP电子邮件表单中清理数据?
我目前正在使用这样的东西......
$msg = $_POST['msg'];
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
$name = $_POST['name'];
$subject = "Message from the MY_WEBSITE website e-mail system";
$message = "From: " . $name . "\n";
$message .= "Email: " . $email . "\n\n";
$message .= $msg;
$headers = "From: " . $email . "\r\n" .
"Reply-To: " . $email . "\r\n" .
"X-Mailer: PHP/" . phpversion();
$mailSuccess = mail("me@example.com", $subject, $message, $headers);
以这种方式简单地过滤电子邮件字段是否足以提供保护?能否/我应该更有效地强化脚本以防止垃圾邮件发送者?
提前致谢!
[编辑]澄清,因为到目前为止的答案表明我没有很好地解释自己。
我并不主要关注获取此脚本的垃圾邮件程序,但是任何人利用它将非法电子邮件发送到除me@example.com
以外的任何地址。这可能包括机器人,但同样可能是人类击败CAPTCHA测试。
我正在寻找的是PHP,它将确保mail()方法发送的电子邮件不会被劫持。这可能是一个正则表达式或过滤器或类似的,只是删除某些字符。再次感谢。[/编辑]
答案 0 :(得分:2)
我会这样做: