防垃圾评论插件

插件开发及发布

版主: woniou

回复
wwwdsd
帖子: 262
注册时间: 2009年 6月 13日 23:06
联系:

防垃圾评论插件

帖子 wwwdsd »

原来的那个验证码插件比较复杂,而且功能不好,现仿照Akismet插件做了一个防垃圾评论的插件。
原理是在评论表单中添加一隐藏输入框,如有提交值,则是机器人发的,标为垃圾评论,如评论无中文则标为待审核。
使用该插件需要在模板文件comments.php中的提交按钮后,或是你想安置的地方添加:

代码: 全选

<span style="visibility:hidden"><input name="yzm" type="text" id="yzm" /></span>

如果想防止人工粘贴发垃圾评论,可以在

代码: 全选

<textarea rows="5" cols="50" name="text" class="textarea"><?php $this->remember('text'); ?></textarea>

属性中添加onpaste="return false"如下

代码: 全选

<textarea rows="5" cols="50" name="text" onpaste="return false" class="textarea"><?php $this->remember('text'); ?></textarea>



另:其实完全可以把插件内容加入到Akismet插件中
ak92
帖子: 56
注册时间: 2009年 8月 16日 05:42
联系:

Re: 防垃圾评论插件

帖子 ak92 »

小萨测试了一宿,效果非常不错的说。
头像
zyzzc
帖子: 648
注册时间: 2009年 9月 25日 20:11
联系:

Re: 防垃圾评论插件

帖子 zyzzc »

不错 辛苦了!个人建议把表单隐藏属性放到css文件中,进一步防止能读取页面代码的机器人识别。另visibily还是会占行距显示,可能会影响模版美观,推荐display:none
防粘贴的我还是不用了,因为我自己就有随时拷贝文字到剪贴板防止提交意外的习惯,可能会让我这样的用户郁闷的。。
回复