现在对于从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测试的人类。我正在寻找的是能确保mail()方法发送的电子邮件不被劫持的PHP代码。这可能是一个正则表达式或过滤器,只需删除某些字符即可。再次感谢。[/编辑]