我需要你的帮助。 我正在我的网站上编写评论功能,我正在尝试将垃圾邮件减少到最低限度。我的问题是,当用户/机器人(可能)提交评论时,我有这个代码来做HTTP /1.1 303重定向到同一页面,以便当用户尝试刷新页面时,之前的注释不会重新提交。
这是否足以减少垃圾邮件。
感谢您的时间,耐心和答案。我非常感激。
header("HTTP/1.1 303 See Other");
header("Location: http://127.0.0.1/ main/forum/
答案 0 :(得分:0)
这对提交表单的垃圾邮件或机器人没有任何影响。唯一有用的是通过点击F5(刷新页面)来避免意外重新提交,尽管通常使用301或302重定向。
我现在阅读on Wikipedia:
HTTP响应状态码303请参阅“其他”是将Web应用程序重定向到新URI的正确方式,尤其是在执行HTTP POST后。
表明303在您的情况下是正确的HTTP响应。但仍然大多数人可能使用302。
答案 1 :(得分:0)
我认为不会帮助您实现目标,reduce spamming
您可以执行以下操作
一个。检查页面是否已经刷新然后重定向,这已经在这里进行了广泛讨论:参见
B中。为防止正确泛洪需要限制每个IP地址的秒数请求参见
Prevent PHP script from being flooded
修改1
您要求的非OOP版本:
$memcache = memcache_connect ( 'localhost', 11211 );
$runtime = memcache_get ( $memcache, 'floodControl' );
if ((time () - $runtime) < 2) {
die ( "Die! Die! Die!" );
}
else {
echo "Welcome";
memcache_set ( $memcache, "floodControl", time () );
}
答案 2 :(得分:0)
简短回答:不。
答案很长:不,重定向与垃圾邮件无关。垃圾邮件发送者正在使用完整的HTTP协议,其中各种状态代码如303 See Other是其中的一部分。任何HTTP客户端 - 垃圾邮件发送者与否 - 都能够处理这些问题。
实际上有助于防止发送垃圾邮件的方法是显示一个辅助页面,该页面再次要求发布内容(如预览)。大多数垃圾邮件机器人都没有这样做,而且它也是用户友好的。