主页 » WordPress » wordpress简单一招防Spam

wordpress简单一招防Spam

2008-12-13gao

wordpress作为一个强大的blog系统,已经拥有了大量的用户,(省略800字…)而其带来的垃圾评论,也就是Spam也是越来越严重,特别是流量大一点的站. 防御Spam目前有很多方法,插件无疑是最多的选择,但是再强大的插件也有失误的时候,而且还会拖慢你的网站,前段时间在网上搜到了一个简单有效的防Spam的方法,就是给你的评论加上一个简单的加法算术题.

方法如下:

在WP主目录下找到wp-comments-post.php
在67行处加上(注意,如果是非2.7的,请看它上面的内容是  wp_die( __(‘Error: please enter a valid email address.’) ); } )

if ( !$user->ID ) {
$a = trim($_POST[a]);
$b = trim($_POST[b]);
$sub = trim($_POST[sub]);

if((($a+$b)!=$sub)|| empty($sub)){
wp_die( __('错误: 请输入正确的算术题结果.') );
}
}

然后在主题comments.php文件中的网址输入框下面加上

<p> <? $a=rand(0,8); $b=rand(8,12); ?>
<input type="text" name="sub" tabindex="4" id="sub" size="22"><input type="hidden" name="a" value="<?=$a?>" /><input type="hidden" name="b" value="<?=$b?>" /> <label for="sub"> 问题: <?=$a?>+<?=$b?>=? (必填)</label></p>

最后修改在你主题的style.css你加上#sub{}的效果。OK.
说下该方法的缺点 每次更新WP版本时都要修改wp-comments-post.php文件,
不能防止人肉Spam,如果你站点的垃圾真的很多,还是推荐使用插件

18条评论我也说两句

  1. 呵呵,看那了你通告的方法,弄好了!谢谢

  2. 你好,我添加后出现情况,请看我博客

  3. 我用的inove主题,也试一试

  4. 我使用iNove主题,请问第二部中的网址输入框的代码在哪里啊?

    • 你找到tabindex=”3″ ,在该代码的最后插入
      ....tabindex="3"......... 在这后面

      • 添加了,但是现在有个问题。
        不是很美观。原因是,输入框的长度不统一,并且和上一个输入框靠的太紧。
        请问怎样解决?
        或者能不能把它添加到 提交评论 旁边的那个位置?
        谢谢。

  5. 显示出来的是乱码啊
    后台编码是UTF-8
    请问是怎么回事啊?

    • 建议使用DreamWeaver8 UTF-8无BOM保存,其他软件有中文的话都可能会出现乱码

  6. 这样还方便一些,有的用验证码,根本看不清。

  7. 我在你這裏獲得靈感, 改良了設計.
    有空來指導一下, 非常謝謝你!

  8. 现在好像折腾对了

    不过好像显示出来的是乱码哈

    怎么弄?请赐教一下

  9. 谢谢gao,一直想要这样的防垃圾模式,又不想装插件~帮大忙了。 对,sub该放在CSS的哪里?我找不到回复框所用的CSS位置。。

  10. 呵呵!那你就不要验证嘛~~

  11. 这个效果不错,以后我也试试.

  12. 没有必要防垃圾留言。页面上的广告就广告去吧,一个博客。

  13. 这个不错 呵呵

发表评论

必填

必须的

随你高兴