如何处理小型商业网站上的小规模评论垃圾信息?

时间:2012-07-10 作者:Zach Lysobey

过去我为小企业建立了一些网站,但从历史上看,我没有反垃圾邮件措施。我现在有几个网站,每个月可能会收到5到20条垃圾评论。我已经把它设置好了,所以所有的评论都必须被控制,这真的没什么大不了的。我认为这已经足够好了,除了这些评论的内容通常是关于伟哥、其他毒品、俄罗斯色情网站等,我觉得这些东西出现在我的客户邮箱、审核队列等中对我的影响很糟糕。。

毫无疑问,Akismet可以在这方面提供很多帮助,但我无法证明价格合理。

我尽量避免过多的插件或膨胀,我觉得应该有一个简单的解决方案——要么是一个非常精简的插件,要么是某个地方的代码片段。

有什么想法吗?

3 个回复
最合适的回答,由SO网友:fuxia 整理而成

使用Antispam Bee. 它是免费的,不给家里打电话,而且只要你不太修改评论表单(你必须测试它),它的效果就出人意料地好
请确保禁用垃圾邮件注释的邮件通知。:)

SO网友:its_me

适用于我和许多其他人的插件组合:Akismet + Cookies for Comments + (optionally) Impostercide

最好的没有替代品,所以如果你正在寻找替代品来替代Akismet,你可能会发现没有一种对垃圾邮件有效果。但你可以试试这些:

NOTE: 如果对注释使用Cookie插件,请确保。。。(WHY?)

如果您的网站是从www.example.com. 和设置www.example.com 通过将其添加到wp配置中,将其作为cookie域。php:

define(\'COOKIE_DOMAIN\', \'www.example.com\');
如果您的网站是从其他域或其他域的子域提供服务,则您的静态内容将从其他域或其他域的子域提供服务example.com. 如果您的网站由www.example.com.

PS: 如果我是你,我只会为评论启用Cookies,看看插件本身是如何完成这项工作的。它阻止所有垃圾邮件机器人。

SO网友:MickeyRoush

我不确定您的设置、资源和/或知识。但这里有一些你可以尝试的东西,不需要使用插件。

您可以尝试添加一个nonce,方法是在主题的函数中放置以下内容之一。php文件。我没有想到这些,如果我能记得从哪里得到它,我会赞扬作者。此外,由于某些原因,它不会一直起作用,并且会阻止我的经验中的合法评论者(也许其他人可以评论)。但这里是:

// Add a nonce to the comment form for spam protection.
function add_comment_form_nonce_field( ){
  wp_nonce_field( \'anti_spam_nonce_field\' );
}
add_action( \'comment_form\', \'add_comment_form_nonce_field\' );

function check_comment_form_nonce_field(){
  if( !wp_verify_nonce( $_REQUEST[\'_wpnonce\'], \'anti_spam_nonce_field\') )
    die(\'Security check failed\');
}
add_action( \'pre_comment_on_post\', \'check_comment_form_nonce_field\');
还有一个建议:

// Add a nonce to the comment form for spam protection.
function wp_comment_check_hidden_field() {
        $user = wp_get_current_user();
        if ( !isset($_POST[\'_wpnonce\']) || !wp_verify_nonce($_POST[\'_wpnonce\'],   "comment_form_{$comment_post_ID}") ) {
                do_action(\'comment_nonce_failed\', $comment_post_ID);
                wp_die( __(\'Sorry, automated comments are not accepted.\') );
        }
}
add_action(\'pre_comment_on_post\', \'wp_comment_check_hidden_field\');

function wp_comment_add_hidden_field() {
        wp_nonce_field("comment_form_{$post_id}", \'_wpnonce\', false);
}
add_action(\'comment_form\', \'wp_comment_add_hidden_field\');
最近我发现了另一种阻止机器人的方法。您必须创建一个PHP会话cookie,这很容易用PHP实现。ini或通过。htaccess变量(php\\u值)。大多数主机提供一种或另一种。

http://php.net/manual/en/session.configuration.php

一旦您确认您的站点确实创建了会话cookie,请将其或类似内容放入您的根目录中。htaccess文件。

RewriteCond %{HTTP_COOKIE} !^PHPSESSID=\\w+ [OR]
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\\.)?example\\.com/ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule ^wp-(comments-post|register)\\.php http://example\\.com [R=301,L,NS]
更换exmaple。与您的域通信。此外,您可能不需要包括wp寄存器。php取决于您的WordPress设置/版本(我刚刚包括了wp-login.php和wp-register.php,以防止机器人尝试攻击其中任何一个)。这阻止了spambots通常不使用的两件事,但普通访问者应该使用这两件事(或者在用户代理为空的情况下,机器人可以使用这两件事)。如果你在欧洲,我不确定你是否可以毫无问题地应用它,因为我不熟悉他们的cookie法律,所以你可能必须删除HTTP\\u cookie条件。

此外,由于您关心特定的单词,您也可以尝试使用WordPress内置的评论黑名单:

http://codex.wordpress.org/Combating_Comment_Spam#Comment_Blacklist

但是你需要小心你放在那里的词。

结束

相关推荐

Disable Comments Feed

我在一个私人网站上工作,那里需要隐藏评论。我知道如何从标题中删除注释提要,但是谁能给我一些关于如何完全禁用注释提要的说明呢。因为你所需要做的就是在单个帖子中添加/feed/然后你就可以看到评论feed了。我尝试创建feed-atom注释。php和feed-rss2-comments。php,但这仍然不起作用。

如何处理小型商业网站上的小规模评论垃圾信息? - 小码农CODE - 行之有效找到问题解决它

如何处理小型商业网站上的小规模评论垃圾信息?

时间:2012-07-10 作者:Zach Lysobey

过去我为小企业建立了一些网站,但从历史上看,我没有反垃圾邮件措施。我现在有几个网站,每个月可能会收到5到20条垃圾评论。我已经把它设置好了,所以所有的评论都必须被控制,这真的没什么大不了的。我认为这已经足够好了,除了这些评论的内容通常是关于伟哥、其他毒品、俄罗斯色情网站等,我觉得这些东西出现在我的客户邮箱、审核队列等中对我的影响很糟糕。。

毫无疑问,Akismet可以在这方面提供很多帮助,但我无法证明价格合理。

我尽量避免过多的插件或膨胀,我觉得应该有一个简单的解决方案——要么是一个非常精简的插件,要么是某个地方的代码片段。

有什么想法吗?

3 个回复
最合适的回答,由SO网友:fuxia 整理而成

使用Antispam Bee. 它是免费的,不给家里打电话,而且只要你不太修改评论表单(你必须测试它),它的效果就出人意料地好
请确保禁用垃圾邮件注释的邮件通知。:)

SO网友:its_me

适用于我和许多其他人的插件组合:Akismet + Cookies for Comments + (optionally) Impostercide

最好的没有替代品,所以如果你正在寻找替代品来替代Akismet,你可能会发现没有一种对垃圾邮件有效果。但你可以试试这些:

NOTE: 如果对注释使用Cookie插件,请确保。。。(WHY?)

如果您的网站是从www.example.com. 和设置www.example.com 通过将其添加到wp配置中,将其作为cookie域。php:

define(\'COOKIE_DOMAIN\', \'www.example.com\');
如果您的网站是从其他域或其他域的子域提供服务,则您的静态内容将从其他域或其他域的子域提供服务example.com. 如果您的网站由www.example.com.

PS: 如果我是你,我只会为评论启用Cookies,看看插件本身是如何完成这项工作的。它阻止所有垃圾邮件机器人。

SO网友:MickeyRoush

我不确定您的设置、资源和/或知识。但这里有一些你可以尝试的东西,不需要使用插件。

您可以尝试添加一个nonce,方法是在主题的函数中放置以下内容之一。php文件。我没有想到这些,如果我能记得从哪里得到它,我会赞扬作者。此外,由于某些原因,它不会一直起作用,并且会阻止我的经验中的合法评论者(也许其他人可以评论)。但这里是:

// Add a nonce to the comment form for spam protection.
function add_comment_form_nonce_field( ){
  wp_nonce_field( \'anti_spam_nonce_field\' );
}
add_action( \'comment_form\', \'add_comment_form_nonce_field\' );

function check_comment_form_nonce_field(){
  if( !wp_verify_nonce( $_REQUEST[\'_wpnonce\'], \'anti_spam_nonce_field\') )
    die(\'Security check failed\');
}
add_action( \'pre_comment_on_post\', \'check_comment_form_nonce_field\');
还有一个建议:

// Add a nonce to the comment form for spam protection.
function wp_comment_check_hidden_field() {
        $user = wp_get_current_user();
        if ( !isset($_POST[\'_wpnonce\']) || !wp_verify_nonce($_POST[\'_wpnonce\'],   "comment_form_{$comment_post_ID}") ) {
                do_action(\'comment_nonce_failed\', $comment_post_ID);
                wp_die( __(\'Sorry, automated comments are not accepted.\') );
        }
}
add_action(\'pre_comment_on_post\', \'wp_comment_check_hidden_field\');

function wp_comment_add_hidden_field() {
        wp_nonce_field("comment_form_{$post_id}", \'_wpnonce\', false);
}
add_action(\'comment_form\', \'wp_comment_add_hidden_field\');
最近我发现了另一种阻止机器人的方法。您必须创建一个PHP会话cookie,这很容易用PHP实现。ini或通过。htaccess变量(php\\u值)。大多数主机提供一种或另一种。

http://php.net/manual/en/session.configuration.php

一旦您确认您的站点确实创建了会话cookie,请将其或类似内容放入您的根目录中。htaccess文件。

RewriteCond %{HTTP_COOKIE} !^PHPSESSID=\\w+ [OR]
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\\.)?example\\.com/ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule ^wp-(comments-post|register)\\.php http://example\\.com [R=301,L,NS]
更换exmaple。与您的域通信。此外,您可能不需要包括wp寄存器。php取决于您的WordPress设置/版本(我刚刚包括了wp-login.php和wp-register.php,以防止机器人尝试攻击其中任何一个)。这阻止了spambots通常不使用的两件事,但普通访问者应该使用这两件事(或者在用户代理为空的情况下,机器人可以使用这两件事)。如果你在欧洲,我不确定你是否可以毫无问题地应用它,因为我不熟悉他们的cookie法律,所以你可能必须删除HTTP\\u cookie条件。

此外,由于您关心特定的单词,您也可以尝试使用WordPress内置的评论黑名单:

http://codex.wordpress.org/Combating_Comment_Spam#Comment_Blacklist

但是你需要小心你放在那里的词。