A-A+

WordPress防止冒充管理员或已注册用户留言

2010年05月24日 WordPress 评论 9 条 阅读 4,103 次

1. 到 的根目录, 打开文件 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.') );
}
}
}

这样就会对包括管理员在内的所有注册用户的 email和昵称 进行检测. 但如果你只是想禁止输入管理员或者作者等特殊群体的 email, 那么你需要在 SQL 中关联上 $wpdb->usermeta 这个表, 并对 meta_key = 'wp_capabilities' 的项进行筛选.上面的提示为英文,只需在汉化包内添加即可翻译成中文,直接改成中文会出错!请下载附件或参考其修改!

看到这, 你是不是还有个问题? 为什么不用 add_action('comment_form', 'email_validate'); 处理呢? 因为用这个的话, email_validate 方法只会在评论提交完成后才触发, 评论都已经发表成功了, 那么 email 的检测就失去意义了.

如果你不信可以在此输入我的名字或我的邮箱留言试下!

声明:本文出自MG12,原文地址:http://www.neoease.com/wordpress-bogus-users/他的博客里还有很多不错的文章建议大家有空去那淘一下!

bogus-admin-users.zip 文件大小:227.6 KB, 下载次数:205 次

文件下载

9 条留言  访客:9 条  博主:0 条

  1. avatar CHERY

    这个比较好 /呲牙

  2. avatar 海天无影

    一般还是很少有这样无聊的人吧
    谁会这么无聊 呵呵~

  3. avatar 随缘

    @海天无影, 呵呵,仅供参考 /呲牙

  4. avatar joyla

    我下载了,支持一下! /胜利

  5. avatar 阿普雷

    呵呵,z-blog已经自带了这功能了。

  6. avatar 随缘

    @阿普雷, 呵呵,最早也是用ZBLOG后来又换了很多个最后还是用了WP /坏笑

  7. avatar willin

    是可以這樣做, 但我個人覺得沒必要, 真有人那麼無聊就屏他 ip 就可以了. 這防護會增加一次數據查詢, 不值.

  8. avatar 随缘

    @willin, 说有即是,多谢大师指点 /抱拳

  9. avatar david

    呵呵,这是个好办法。。。学习了。
    蛮有用的哦。

给我留言

Copyright © 随缘博客 保留所有权利.   Theme  

用户登录

分享到: