【发布时间】:2012-01-12 01:52:39
【问题描述】:
我搜索了 SO 并找到了几个 good ideas,但没有 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% 不,但是好的验证码很接近。我不明白你为什么不能使用一个。
-
您能否详细说明为什么文本验证码回答stackoverflow.com/a/3825272/76989 不能解决您的问题?
-
我宁愿不必依赖某些第三方服务。你用过 uniqid();创建一次性令牌?