我已经搜索过,并发现了几个good ideas但没有100%解决了这个PHP邮件问题我有。有没有办法100%防止php邮件脚本被滥用?
注意:当我从服务器上删除此文件时,垃圾邮件会停止。 Captcha也不是一个真正的选择,这是一个Ajax调用,它需要很快。我不是100%确定垃圾邮件发送者是如何做到的,但任何帮助都会让人赏心悦目。
这里是HTML的位添加到窗体:
<input name="spam_stopper" value="DO NOT CHANGE THIS VALUE" style="display:none;"/>
这里是额外的代码我在mail.php文件的顶部并没有阻止垃圾邮件说:
if ($_POST['spam_stopper'] != 'DO NOT CHANGE THIS VALUE') {
echo '<h3>Incorrect use of this form!</h3>';
exit;
}
if(!strpos($_SERVER['HTTP_REFERER'],'my-sample-domain-name.com'))
{
echo '<h3>Incorrect use of this form!</h3>';
exit;
}
if($_SERVER['REQUEST_METHOD'] != "POST"){
echo("Unauthorized attempt to access page.");
exit;
}
100%不,但是一个好的验证码很接近。我不明白你为什么不能使用它。 – 2012-01-12 01:56:14
你能不能详细说明为什么文本验证码回答http://stackoverflow.com/a/3825272/76989不是你的问题的解决方案? – mmhan 2012-01-12 02:00:09
我宁愿不必依靠某些第三方服务。你有没有使用uniqid();创建一次性令牌? – 2012-01-13 02:11:55