php mail()删除抄送、密件抄送和安全性

php mail()删除抄送、密件抄送和安全性,php,email,Php,Email,我是stackoverflow的新手,无法找到我的问题的答案,即:;如何在php中保护我的mail()代码,以防止人们添加密件抄送(bcc),从而最终导致群发邮件?我的网站使用PHP mail()服务在我的网站中输入新评论时向我发送电子邮件。防止人们篡改的最佳方法是什么,例如删除密件抄送?到目前为止,我得到的是: function mres($input){ if (get_magic_quotes_gpc()){ $input = stripslashes($input); } ret

我是stackoverflow的新手,无法找到我的问题的答案,即:;如何在php中保护我的mail()代码,以防止人们添加密件抄送(bcc),从而最终导致群发邮件?我的网站使用PHP mail()服务在我的网站中输入新评论时向我发送电子邮件。防止人们篡改的最佳方法是什么,例如删除密件抄送?到目前为止,我得到的是:

function mres($input){
if (get_magic_quotes_gpc()){
    $input = stripslashes($input);
}
return mysql_real_escape_string($input);
}
$name = strip_tags(mres($_POST['name']));
$comment = strip_tags(mres($_POST['comment']));

$to = 'myself@gmail.com';
$subject = 'Website - comment';
$body = 'A new comment has been entered on the website.'."\n\n"."$name".' said:         '."\n\n"."$comment";
mail($to,$subject,$body);

我会看着像这样的东西


事实上,如果您只使用mail(),您的邮件通常会变成人们的垃圾邮件,假设下面的代码是:

mail($to, $subject, $body);
如果使用过多,那么它是安全的。
mail()
的唯一易受注入攻击的参数是控制头字段的参数(
$to
$subject
$additional_headers
strip\u标记
mysql\u real\u escape\u字符串
都是不必要的,后者会使撇号在电子邮件中显示为
\'


如果没有对
mail()
的以下调用,那么它就非常安全,因为它不做任何事情。:)

不重新发明轮子并开始使用phpmailer怎么样?PS:你对变量应用
mysql\u real\u escape\u string
的原因是什么?该函数询问服务器默认情况下是否打开或关闭了magic quotes。根据结果,适当的安全措施将被激活,从而在发表评论时防止sql注入或类似操作。除非您立即将结果作为sql查询的一部分使用,否则您不需要(也不应该)使用
mysql\u real\u escape\u string
。(而且
mail()
不是SQL查询。)他只是在这里给自己发信息!不需要邮件服务。目前,当我的网站上输入新的评论时,mail()只是给我自己发电子邮件。由于每周可能有4-5人的低流量,我可以负担得起这样做。它还允许我在不登录网站的情况下检查评论是否合适;我不小心从问题中漏掉了,谢谢。