前面说过WordPress的评论bug,在发现这个bug的时候,我到WordPress几个国内名博都去测试过,当然第一个去的就是我所用的这个主题的作者mg12那去了。我就是通过使用他的这个主题才发现这个问题的,而且,这个评论bug在他的这个主题中尤为突出,inove主题的管理员评论太过醒目,这样被冒名顶替的危害越大,所以我就到mg12同学那去测试了一下! 而且还到其他几个名博去了,都存在这个问题,其中只有水煮鱼的博客由于没找到他的邮箱,没有测试。但是在其他几个博客中都看到这个问题,也就证明了这个问题确实存在,我就把文章发布了!
今天看到订阅里面mg12同学星期六的时候发布了解决方法!太有幸了!本来以为这个小问题,应该几位大侠都不会鸟的,但是mg12同学还是重视了^^!本人对php是没辙,看的话,还凑合看看,写的话就没辙了! mg12的解决方案如下!
1. 到 WordPress 的根目录, 打开文件 wp-comments-post.php. (每次发表评论都要调用它, 就拿它开刀吧.)
2. 查找 if ( ” == $comment_content ), 在它之前追加以下代码. (一般在处理内容之前处理 email.)
if (!$user->ID) {
$result_set = $wpdb->get_results("SELECT display_name, user_email FROM $wpdb->users WHERE display_name = '" . $comment_author . "' OR user_email = '" . $comment_author_email . "'");
if ($result_set) {
if ($result_set[0]->display_name == $comment_author) {
wp_die( __('Error: you are not allowed to use the nickname that you entered.') );
} else {
wp_die( __('Error: you are not allowed to use the email that you entered.') );
}
}
}
他的这个方法是通过查询数据库本站的用户资料,核对你的用户名和邮箱。无论是邮箱还是用户名,他都进行了验证,这个方法很完美。但是对于不是本站注册用户的话就没有效! 就算目前其他的博客程序,大多没有对非注册用户进行验证! 所以这个解决办法是比较好的!
但是不是完美的解决办法,如果完美的评论机制的话,应该把非注册用户的用户名和邮箱写入数据库以方便在下次评论时验证!这样可以完全杜绝冒名顶替发表评论!
所以养成一个好习惯,那就是在你经常去的博客要记得注册个用户!
PS:mg12说了,这个不是bug,暂时不知道如何形容,所以文中还是说bug!
想一想也是,如果设计者当初写了验证代码,而通过其他手段绕开验证,那才叫bug!
mg12原文地址:http://www.neoease.com/wordpress-bogus-users/




那我们是无望了….我们俩都有”洁僻”的不愿意改代码的人,没福了……
@lansh
回访来了,mg12说兄弟你那个用插件实现的方法似乎不太现实,呵呵。
这个东西比较简单。。。。逻辑性的东西,非专业人士也能看的懂的。。。
哥们。。。你博客上有张筱雨视频哦….收藏了。哈哈
好高深的东西啊
注册只是建议嘛! 不是非得要注册,而且注册只需要一次!
以后留言又不用注册了!
刚才看了看你的博客,人气那么旺。。。评论很多哦。建议你按照mg12那样更改一下!^^
留次言注册一下也太夸张了吧!