有这样的一个问题,WordPress默认并不会审核评论到底是不是博主发表的,如果有人知道博主的昵称和Email (这是很容易搞到的),那么它使用这个昵称和Email,就可以成功的冒充博主发表评论,进而可能会欺骗其他访客。这对于好多天都不查看自己博客的博主来说,是极其危险的,可能会对你的博客以及你个人的信誉造成很坏的影响;当然如果你一天登陆你的博客N多次,那么这样的问题就不是问题了。

下面我教你如何解决这个问题,用文本编辑器打开当前主题目录下的functions.php,将第一个 <?php 替换成以下代码:

<?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#ludou.org 改成博主Email
    if (trim($incoming_comment['comment_author_email']) == 'example#ludou.org')
        $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防止评论冒充博主

WordPress 悄悄话

标签:WordPress

你的评论