松江生活网全新改版为令升网络,网址不变,需要网站优化,网站建设,网站推广的朋友可以随时跟我取得联系!

如何屏蔽WordPress垃圾评论

网站建设 lingsheng 721℃ 0评论

垃圾评论,如今可以说是无处不在,作为WordPress使用者的我们,防止垃圾评论的侵扰是必须要做的。而且垃圾评论也就算了,居然还不访问我们的网站直接用脚本刷,连个pv值都不贡献下,太抠啦,不走心,差评。

在屏蔽垃圾评论方面,Akismet插件还是很不错的,能起到一定的效果。但还是不够给力,而且认证还要收费,建议大家还是放弃使用吧,其他的一些插件也是坑的要死,接下来的教程就可以基本杜绝垃圾评论了。

  方法1:评论黑名单加强版(推荐)

wordpress有个“评论黑名单”功能,这个功能在 wordpress后台-“讨论”菜单里面,我非常喜欢这个功能。它的作用是:当评论的内容、评论者名称、URL、电子邮件或IP地址中包含其中任何关键字时,系统将自动将评论标记为“垃圾评论”。但有个不好的地方是评论者的评论还是能提交上来,你必须手动去清理这些“垃圾评论”…

下面的方法就是弥补这个缺陷的,当评论的内容、评论者名称、URL、电子邮件或IP地址中包含其中任何关键字时(当然,这些关键字需要你自己去设置好~),评论将不能提交!

将以下代码扔到我们的主题的 functions.php 中

    function shsongjiang_fuck_spam_comments($comment) {

    if (wp_blacklist_check($comment[‘comment_author’], $comment[‘comment_author_email’], $comment[‘comment_author_url’], $comment[‘comment_content’], $comment[‘comment_author_IP’], $comment[‘comment_agent’])) {

        header(“Content-type: text/html; charset=utf-8”);

        err(__(‘不好意思,您的评论违反了龙笑天下的评论规则!’));

    } else {

        return $comment;

    }

}

      add_filter(‘preprocess_comment’, ‘shsongjiang_fuck_spam_comments’);

效果:请在本页评论“婊子”试试~~

  方法2:评论中必须有中文

屏蔽纯英文或纯日文评论,评论中必须含有中文:

function shsongjiang_refused_spam_comments($comment_data) {
    $pattern = ‘/[一-龥]/u’;
    $jpattern = ‘/[ぁ-ん]+|[ァ-ヴ]+/u’;
    if (!preg_match($pattern, $comment_data[‘comment_content’])) {
        err(__(‘来一波汉字吧,苦逼的博主只认识汉字!You should type some Chinese word!’));
    }
    if (preg_match($jpattern, $comment_data[‘comment_content’])) {
        err(__(‘原谅博主吧,这货只听得懂岛国神片的一两句雅蠛蝶! You should type some Chinese word!’));
    }
    return ($comment_data);
}
add_filter(‘preprocess_comment’, ‘shsongjiang_refused_spam_comments’);

  方法3:屏蔽昵称,评论内容带链接的评论

function shsongjiang_Shield_link($comment_data) {
    $links = ‘/http:\/\/|https:\/\/|www\.|\.com|\.cn|\.net|\.org/u’;
    if (preg_match($links, $comment_data[‘comment_author’]) || preg_match($links, $comment_data[‘comment_content’])) {
        err(__(‘别啊,昵称和评论里面添加链接会怀孕的哟!!’));
    }
    return ($comment_data);
}
add_filter(‘preprocess_comment’, ‘shsongjiang_Shield_link’);

  方法4:屏蔽长链接评论

当评论者链接长度大于50个字符时,评论将被当作垃圾评论。

function shsongjiang_lang_url_spamcheck($approved, $commentdata) {
    return (strlen($commentdata[‘comment_author_url’]) > 50) ?
    ‘spam’ : $approved;
}
add_filter(‘pre_comment_approved’, ‘shsongjiang_lang_url_spamcheck’, 99, 2);

  方法5:设置一个发送评论前需要勾选的选择框

我们通常使用的防机器人的方式是增加验证码,如:数字字母验证码、算术验证码等,在这里介绍的是添加一个发送评论前需要勾选的选择框,来判断是否人工。

首先,在你的评论模板页面的适当位置加入下面的代码,一般是在comments.php这个文件中。

<label for=“enable”><input type=“checkbox” name=“enable” id=“enable” onClick=“apply()” class=“enable_checkbox”> Check this box to enable the send button</label>

然后,引入下面的JS代码:

<script type=“text/javascript”>
function apply() {
var form_submit = document.commentform.submit;
var form_checkbox = document.commentform.enable;
form_submit.disabled=true;
if(form_checkbox.checked==true) {form_submit.disabled=false;}
if(form_checkbox.checked==false) {form_submit.enabled=false;}
}
</script>

  方法6:禁止不访问网站页面直接评论

很多机器人和恶意评论的人为什么可以不访问网站的任何页面,却能留下评论回复呢?Spam的原理其实很简单:发表评论是由wp-comments-post.php文件执行完成的,只要机器人确定你的网站是WordPress搭建,通过软件直接读取网站根目录下的wp-comments-post.php,并写入内容即可完成,无需访问网站的任何页面。

那么,怎么预防这种形式的垃圾评论呢?下面有2种方法。

① 通过修改.htaccess文件判断评论来路是否是通过网站的页面读取wp-comments-post.php文件的,如果否则禁止写入。在.htacess 中加入以下代码:

# Protect from spam comments By ILXTX.COM
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wpcommentspost.php*
RewriteCond %{HTTP_REFERER} !.*shsongjiang.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

注:不要忘记替换 shsongjiang.com 为你的域名哦

转载请注明:令升网络 » 如何屏蔽WordPress垃圾评论

喜欢 (1)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址