当前位置: 首页 > 图文教程 > 网页制作 > CMS技巧 > Wordpress博客防评论机器人

CMS技巧
dede(织梦)CMS常见问题及解决方法
织梦内容管理系统(dede)模板标签代码参考
网站内容管理系统CMS在国内都有哪些?
建站选择CMS一定要谨慎
适合搜索优化(SEO)的几个CMS介绍
从SEO视角判断CMS系统的好坏
简单把Wordpress打造成CMS
帝国ecms教程:一些常用的技巧大全
帝国ecms:实现google的全站sitemap制作教程
dedecms发布分页问题完全解决方案
使用织梦网站管理(DEDECMS)架设网站全面分析
百度、谷歌搜索引擎原理及新网站应对
织梦网站管理系统(DedeCms2007)将于11月底发布
关于blog系统中最合适做优化的程序
给zblog加上运行代码功能
修改z-blog分页页码样式
给z-blog博客添加链接点击统计
LBS增加引用地址和永久地址点击复制功能
LBS功能:图片的自适应实现代码
ZBLOG增加文章里的关键字替换

CMS技巧 中的 Wordpress博客防评论机器人


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-03-18   浏览: 144 ::
收藏到网摘: n/a

用评论机器人提交评论的人确实让人头疼,使用验证码虽然能有效阻止,但用户体验就差了,
正所谓人至贱则无敌,对付贱人就得用贱招!今天目的是会让发垃圾评论的贱人更加头疼.
用Wordpress的人都知道,评论表单提交的有author,email,url和comment四个项目的内容,
对应的分别是昵称,邮件,网站地址和评论内容,贱人喜欢四处张贴他们的网址,那么就从url开始入手.
首先是把原来输入url的输入框的ID和name修改为trueurl,名字随便取,和后面对应就行了,
然后创建一个输入框输入框,把id和name写成url,聪明的你想到要干嘛了吧,嘿嘿.
然后打开wp根目录下的wp-comments-post.php,
找到第45行的内容,把url修改成你上面第一步改的名字,比如我的 查看源代码打印帮助1$comment_author_url   = ( isset($_POST['trueurl']) )     ? trim($_POST['trueurl']) : null;
这样保存评论写入数据库的时候记录的网站地址都是我们之前改的trueurl那个输入框的内容了.
接下来我们得做个判断.在第67行下面添加以下内容: 查看源代码打印帮助1if ( !$user->ID ) {

2$uurl = trim($_POST[url]);

3if($uurl <> ""){

4wp_die( __('错误: 请保持第四项为空白[莫非你是一个可悲的弱智的评论机器人? 哈哈哈') );

5}

6}
由于编码的关系,可能上面的中文会在实际输出的时候显示乱码,那么转换成UTF-8吧.OK,大功搞成,评论机器人会填写url那个输入框,而如果填写了url那个输入框,咱就不让他提交.
如果你想记录谁提交了垃圾评论,那么在上面的代码里面wp_die的上一行加一句:查看源代码打印帮助1error_log(date("[Y-m-d H:i:s]")." - [".$_SERVER["REMOTE_ADDR"]."] - [".$uurl."] "."\n", 3, "spam.txt");
然后过一段时间看看spam.txt有没有评论机器人上钩吧.哈哈.
*Unix主机请注意有没有权限创建并写入spam.txt,可以手工创建spam.txt,然后设置成777,
参观一下我的spam.txt,已经有鱼上钩了!