WordPress防止评论冒充博主
有这样的一个问题,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