首页L4EVER.CN 简单快乐 › Wordpress防评论机器人终极大法

Wordpress防评论机器人终极大法

发布于:2010-03-08 00:47:17

点击:52

原文链接

用评论机器人提交评论的人确实让人头疼,使用验证码虽然能有效阻止,但用户体验就差了, 正所谓人至贱则无敌,对付贱人就得用贱招!今天目的是会让发垃圾评论的贱人更加头疼. 用Wordpress的人都知道,评论表单提交的有author,email,url和comment四个项目的内容, 对应的分别是昵称,邮件,网站地址和评论内容,贱人喜欢四处张贴他们的网址,那么就从url开始入手. 首先是把原来输入url的输入框的ID和name修改为trueurl,名字随便取,和后面对应就行了, 然后创建一个输入框输入框,把id和name写成url,聪明的你想到要干嘛了吧,嘿嘿. 然后打开wp根目录下的wp-comments-post.php, 找到第45行的内容,把url修改成你上面第一步改的名字,比如我的 $comment_author_url = ( isset($_POST['trueurl']) ) ? trim($_POST['trueurl']) : null; 这样保存评论写入数据库的时候记录的网站地址都是我们之前改的trueurl那个输入框的内容了. 接下来我们得做个判断. 在第67行下面添加以下内容: if ( !$user->ID ) { $uurl = trim($_POST[url]); if($uurl <> ""){ wp_die( __('错误: 请保持第四项为空白[莫非你是一个可悲的弱智的评论机器人? 哈哈哈 BY http://L4EVER.cn') ); } } 由于编码的关系,可能上面的中文会在实际输出的时候显示乱码,那么转换成UTF-8吧. OK,大功搞成,评论机器人会填写url那个输入框,而如果填写了url那个输入框,咱就不让他提交. 如果你想记录谁提交了垃圾评论,那么在上面的代码里面wp_die的上一行加一句: error_log(date("[Y-m-d H:i:s]")." - [".$_SERVER["REMOTE_ADDR"]."] - [".$uurl."] "."\n", 3, "spam.txt"); 然后过一段时间看看spamlog.txt有没有评论机器人上钩吧.哈哈. *Unix主机请注意有没有权限创建并写入spam.txt,可以手工创建spam.txt,然后设置成777, 参观一下我的spam.txt,已经有鱼上钩了! 相关推荐 最新消息:Akismet.com可以访问了 (3) Wordpress快捷键翻页 (3) 我使用的Wordpress插件 (2) 给Wordpress加上算术验证码 (12) 这就是WordPress2.5正式版? (6) L4EVER提醒Wordpress2.5不成熟 (5) Wordpress插件:新评论短信息通知 (10) Wordpress插件真强 (3) 为你喜欢的评论投上一票吧 (2) 留下评论时记得写上你的网址 (5)
聚合来源
资源搜索
24小时热门
一周热门

PIGZ.CN RSS聚合 聚合精彩个人BLOG