WordPress防止评论冒充博主

Ludou

     有这样的一个问题,WordPress默认并不会审核评论到底是不是博主发表的,如果有人知道博主的昵称和Email (这是很容易搞到的),那么它使用这个昵称和Email,就可以成功的冒充博主发表评论,进而可能会欺骗其他访客。这对于好多天都不查看自己博客的博主来说,是极其危险的,可能会对你的博客以及你个人的信誉造成很坏的影响;当然如果你一天登陆你的博客N多次,那么这样的问题就不是问题了。下面我教你如何解决这个问题,用文本编辑器打开当前主题目录下的functions.php,将第一个 <?php 替换成以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
/**
 * 名称: WordPress添加投稿功能
 * 作者:露兜
 * 博客:http://www.ludou.org/
 * 最后修改:2011年02月16日
 */


function ludou_usecheck($incoming_comment) {
    $isSpam = 0;

    // 将以下代码中的 Ludou 改成博主昵称
    if (trim($incoming_comment['comment_author']) == 'Ludou')
        $isSpam = 1;

    // 将以下代码中的 example#m.com 改成博主Email
    if (trim($incoming_comment['comment_author_email']) == 'example#m.com')
        $isSpam = 1;

    if(!$isSpam)
        return $incoming_comment;

    wp_die('请勿冒充博主发表评论');
}

if(!is_user_logged_in())
    add_filter( 'preprocess_comment', 'ludou_usecheck' );

     更改完毕后用UTF-8编码保存,这样未登录的用户就无法使用博主昵称和Email来发表评论了!当然如果你的博客还有其他的注册用户,那么他们使用的昵称可能会跟博主的昵称相同(如果出现这种情况,博主可以干涉),但是Email是不允许相同的,对于博客的注册用户,管理起来是相当简单的。

     以上代码只是做了一个简单的判断,并不需要读取数据库等操作,也不需要去重载相关的函数,故不会消耗太多的运行时间。以后博主要发表评论的话,请先登录。

     如果你需要更加强大的防垃圾评论的插件,可以是试试:WordPress评论过滤插件 – 大篱

本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress防止评论冒充博主
本文地址:http://www.ludou.org/wordpress-prevent-imitate-blog-host.html

露兜博客博主,男生,业余Web程序员,儒家思想受益者。文采不佳,不喜欢聚光灯,不喜欢吹牛,不喜欢无序的做事方式。闲时喜欢写些代码自娱自乐,并在博客中分享一些个人技术经验。

标签:

54 条评论

我来说两句
1 2 108
  1. 申佳明

    很不错啊。马克马克~

  2. hzlzh

    应该写,“冒充管理员?完蛋去吧!”哈哈

  3. yesureadmin

    这个方法很好啊

  4. Junan

    哈~幸好我人气不高~~

  5. SteveZheng

    很好的方法呢!学习了

  6. 大刘

    有没有关于评论的hook,在发表之前检查,如果冒充,就不通过?这样就不必改动核心代码了。

  7. huayute

    有错误哦,博主登录后也被阻止了。

  8. 诫子书

    刚刚在网上弄了一个免费空间,安装了wordpress研究。

  9. 何苦呢

    这个倒是没有留意

  10. gzcup

    博主的文章写的真好,支持一下,先收藏了。

1 2

发表评论

因博主长期在外地出差,您的留言可能暂时不会得到回复。

订阅评论