WordPress评论过滤插件 – 大篱
关于垃圾评论,使用WordPress的博主自然熟悉不过,所以也就诞生了很多防垃圾评论的插件,大篱也就在这样的潮流中从露兜博客诞生了,这是我写的第N个插件,也是功能最多最强大的一个,插件全名为WP anti spam dali。大篱可谓是集大成者,用了大篱,其他垃圾评论拦截插件就可以删了(呵呵,大言不惭)。废话少说,先介绍一下大篱可以实现的功能吧:
插件功能
- 阻止自动发布的评论
- 只允许中文评论
- 限定评论字数
- 防范冒充博主评论
- 过滤评论中的链接
- 转义评论中的所有代码
- 关键字替换
以上所有功能均可在后台的插件选项中开启和关闭,真正实现了人性化的关怀。下面针对几个主要功能做一些简单的介绍:
阻止自动发布的评论
首先我们得了解那些垃圾留言程序是如何不通过人工来发布垃圾评论的,其实wp根目录下的wp-comments-post.php就是一个入口,垃圾留言程序首先自动构造评论内容,然后自动向wp-comments-post.php发送POST请求,传送垃圾评论,wp-comments-post.php接收了这些信息,这样一条垃圾评论就成功的发布到你的博客。
大篱阻止自动评论的原理就是在评论表单中插入一个隐藏域,这个隐藏域的值是动态生成的,只有实际通过人工访问博客文章页面才能获得,而且垃圾留言程序无法模拟,这样WordPress在接受评论之前,先检查这个隐藏域的值是否正确,以判断是否为自动发布的垃圾评论。在通常情况下,阻止自动评论的方式是验证码,但是验证码对用户体验不佳,大篱正好解决了这样的问题。
只允许中文评论
在WordPress blog系统下,有90%+的Spam是由英文字母和拉丁字母组成的,中文博客如果只允许含有中文评论,那么也就阻止了90%+的Spam。此功能是模仿了Some Chinese Please插件来实现的,如果你只需要这个功能,可以看这篇文章:WordPress防范垃圾评论的简单方法[无插件]
限定评论字数
排除了计算机程序自动发布的评论,那么剩下的评论都是人发的了,那么人发的评论就不是垃圾评论吗?那也未必,有些人是故意发几个字的灌水内容,或者复制大量内容发布评论,填满你的数据库。最好的做法是限制评论字数。
防范冒充博主评论
如果别人知道了你的昵称和Email,在WordPress中就可以轻松地冒充你进行评论,这样很不好,弄不好会对你的个人和博客名誉造成重大影响。不过这个貌似很少见,如果你单单需要这个功能,可以看这篇文章:WordPress防止评论冒充博主
关键字替换
如果你的网站是搭建在国内的主机上,那么你得注意一下你的网站内容了,必须接受国内机构的监管,如果你的网站如果出现了某某非法关键字,那么你的网站可能很快就要被关停了。评论是一个相对自由的地方,你可能很难监管到,所以你可以将一些非法、不雅、谩骂的关键字给替换掉,这样既可以继续开启评论功能,又可以消除影响。如果你单单需要这个功能,可以看这篇文章:WordPress评论文字自动替换
*使用方法*
下载插件压缩包,解压后,把 wp-anti-spam-dali 文件夹上传到你的WordPress博客的 /wp-content/plugins/ 文件夹下,最后在后台激活即可使用。在后台 - 设置 - 大篱评论过滤,可以设置插件选项,开启关闭一些功能。
好了,更多的就不用我介绍了,试试这款插件就知道了,有什么问题可以给我留言,下面是WordPress官方下载地址:
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wp-anti-spam-dali.html
安装了,是过滤了,不过没有通知用户为什么删了。如人家说ok,顶,支持也很正常。请问怎么补救,谢谢。
@pc “ok,顶,支持”,这些要么限定只支持中午评论,要么限定评论的字数。插件没有那么智能,没法像人脑那样识别,况且垃圾评论的评判也因人而异。
安装完设置保存时页面错乱,顶部出现以下错误,WP版本是3.4.1,是什么原因呢?
Warning: Cannot modify header information – headers already sent by (output started at /home/wp/domains/wp.com/public_html/wp-content/plugins/wp-anti-spamdali/dali-admin.php:31) in /home/wp/domains/wp.com/public_html/wp-includes/option.php on line 563
Warning: Cannot modify header information – headers already sent by (output started at /home/wp/domains/wp.com/public_html/wp-content/plugins/wp-anti-spamdali/dali-admin.php:31) in /home/wp/domains/wp.com/public_html/wp-includes/option.php on line 564
@wpblog 因为cookies的问题,可能跟其他设置冲突了。你换其他过滤插件吧。
@Ludou 很喜欢大篱的简洁,不想换别的,能否升级解决下,多谢了!
@wpblog 我的WP版本也是3.4.1,使用没有任何问题,可能是与其他插件冲突了。
用文本编辑器打开dali-admin.php,如果31行不是以下代码,请重新下载安装:
echo "<div class=\"updated fade\" id=\"message\"><p><strong>选项成功更新</strong></p></div>";
如果是,你可以将此行代码删除,看是否还有问题。
@Ludou 代码没错,删除后就不提示错误了,再次感谢!!!
@Ludou 另外,除大篱外,我只装了其他3个插件,WP-PostViews,WP-Slimbox2,WP Cleaner,供您参考,越大篱越做越好!
你好,怎么下载不了呢,打不开。
@gong 我这边可以正常打开。下载地址是WordPress官网的,可能是你那边的网络线路问题。
ludou,我想知道用了多说后,还能用大篱吗?
@haixiao 你可以试一下。
@Ludou 好来,我去try一try
Ludou老大,请问你这个插件兼容最新的wordpress3.5正式版吗?还有就是能不能和WP-Super-Cache插件共存?期待老大回复!谢谢!!
补充一下,我指的就是在开启插件里“阻止机器人的评论”的情况下,可否和WP-Super-Cache插件共存?老大一定要回复我呀,多谢了!!再次支持你!真是相识恨晚!呵呵
@小龙猫 不能共存。
不想用插件
更新选项后出现错误提示Warning: Cannot modify header information – headers already sent by (output started at /wp-content/plugins/wp-anti-spamdali/dali-admin.php:31) in /wp-includes/option.php on line 568
求解!~
@BD 如果选项能够正常保存,可以忽略这条Warning
博主的这个小功能。有人回复时邮件通知我。。怎么实现的?可以公布这个功能的修改详细吗?
@BD 上网搜索关键字:wordpress 评论 回复 邮件 通知
ali。大篱可谓是集大成者,用了大篱,其他垃圾评论拦截插件就可以删了(
老大是一个技术牛,咨询一下,就是你标题下面的评分、人气、添加评论,这个是加代码还是插件实现的?如果是插件是什么插件?代码如果老大心情好,能提供一下最好。
@lida 代码,请参考WordPress默认主题中的代码,或者:
https://www.ludou.org/create-wordpress-themes-single.html
博主你好!
我是在我的网站——插件——安装插件哪里直接搜索并且安装的WP anti spam dali,
安装启用之后怎么没有设置的功能啊?
点击编辑只是跳到文本编辑器哪里,一堆代码看不懂!
@小不点 请先启用插件。
安装了“WP anti spam dali” 没有效果啊,我的网站超多带链接的垃圾评论,烦死了,好几千条啊!
每次只能删除20条,累死了,能不能一次性删除完啊?还有如何杜绝这些用软件发布的垃圾评论啊?
@小不点 禁止非中文的评论可以杜绝98%的垃圾评论:
https://www.ludou.org/wordpress-simple-way-to-anti-spam.html
另外,上网搜索:WordPress AJAX 评论
使用ajax评论替换默认的评论模式,删掉WordPress目录下的wp-comments-post.php,几乎可以拒绝自动评论机器人
字数不够的话如何提示用户
个
看来字数不够 不提示
@试试啊 本站不使用该插件。如需测试,请自行下载放到自己的站点测试。
@Ludou WP anti spam dali 会不会像 Akismet 会写入很多数据库信息 呢??
@w10320766 只有插件设置页看到的那些设置数据
@Ludou 多谢你的回复!!
我刚才测试了下这个插件;
后台设置了 限定评论字数 和 中文评论 防范冒充博主评论 功能;
前台提交时,只是将评论设置 待审核而已(我在后台将不符合要求评论设置为待审核),但不会告诉用户为什么审核,我看过你的代码,里面是有提示功能的。但不启效。
另外请问下 wp_die()导致页面会 错版问题怎么解决!!
@w10320766 你的主题使用的是ajax的评论,错误触发机制已经改变,wp_die没法在你的主题使用。
我没有这款主题,所以你自行查看主题目录下的comment.php中是如何处理错误的,把wp_die改成主题的错误处理函数即可。
@Ludou 露兜非常感谢你的回复!
我尝试用javasctipt处理吧
I would definitely not recommend these as ways to break the ice however. bdacgfgkeaebdbee
不错