0

拜托我需要你的帮忙。我正在我的网站上编写评论功能脚本,并且我正在尝试将垃圾邮件减少到最低限度。我的问题/问题是,当用户/机器人(可能)提交评论时,我有此代码来执行 HTTP /1.1 303 重定向到同一页面,这样当用户尝试刷新页面时,之前的评论不会重新提交。

这是否足以减少垃圾邮件。

感谢您的时间、耐心和回答。我最欣赏它。

          header("HTTP/1.1 303 See Other");
       header("Location: http://127.0.0.1/     main/forum/
4

3 回答 3

0

这对垃圾邮件或机器人提交您的表单没有影响。唯一有用的是通过按 F5(刷新页面)来避免意外重新提交,尽管通常它是通过 301 或 302 重定向完成的。

我现在在维基百科上读到:

HTTP 响应状态代码 303 See Other 是将 Web 应用程序重定向到新 URI 的正确方式,尤其是在执行 HTTP POST 之后。

这表明 303 在您的情况下是正确的 HTTP 响应。但大多数人可能仍然使用 302。

于 2012-05-03T10:31:08.207 回答
0

我认为这不会帮助您实现目标,reduce spamming您可以执行以下操作

A. 检查页面是否已刷新然后重定向,这已在此处进行了广泛讨论:请参阅

PHP 刷新

B. 为了防止适当的泛滥,需要限制每个 IP 地址的请求数,请参见

防止PHP脚本被淹没

编辑 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 () );
}
于 2012-05-03T10:40:02.913 回答
0

简短的回答:没有。

Long answer: No, redirects have nothing to do with spamming. Spammers are making use of the full HTTP protocol of which the various status codes like 303 See Other are part of. Any HTTP client - spammer or not - is able to deal with these.

What actually helps to prevent spamming is to display a secondary page which asks again for posting the content (like a preview). Most spam bots don't get that and it's user-friendly as well.

于 2012-05-03T10:43:52.347 回答