自己动手修复wordpress2.7的评论BUG

昨天回复网友评论的时候没有登陆管理员账号,直接输入了自己的邮箱,结果评论竟然直接发上去了。
如果有人冒充管理员来回复网友的留言,是一个不小的安全隐患。

在此列出一下解决办法:

1.打开根目录的wp-comments-post.php
2.在if ( ” == $comment_content )前边加入如下代码

  1. if (!$user->ID) {
  2.     $result_set = $wpdb->get_results("SELECT display_name, user_email FROM $wpdb->users WHERE display_name = '" . $comment_author . "' OR user_email = '" . $comment_author_email . "'");
  3.     if ($result_set) {
  4.         if ($result_set[0]->display_name == $comment_author) {
  5.             wp_die( __('您所填写的昵称已经有人使用了...') );
  6.         } else {
  7.             wp_die( __('您所填写的邮箱已经有人使用了...') );
  8.         }
  9.     }
  10. }

3.替换上传

11 条评论 《自己动手修复wordpress2.7的评论BUG》

  1. 如果email输入不同,是不是不能使用这个昵称呢?
    这样的话把自己用户的Email设置成一个别人不知道的就行了
    还是说你这个就是这种功能?

    回复

    Gravatarcuikai Reply:

    这段代码的意思是在提交评论前对注册用户的昵称及email进行检测。
    目前本站没有开启注册功能。也就是说,本站只禁止用户使用管理员的信息回复网友留言。

    换一个大家不易猜到的email也可以实现,但是用户还是可以通过昵称留言。除非把文章作者也隐藏掉。

  2. 多谢崔凯的提醒。
    已经加上!

    回复

  3. 安全隐患到不至于~
    只能算个bug吧

    回复

  4. 不错,有学了一招

    回复

  5. 受教了!呵呵,回去搞一下! 8)

    回复

  6. 晕死 这个改动和插件cos-html-cache有冲突。
    加了之后的几天,一直没有评论,结果好友今天告知,你的blog已经不能回复评论了……

    又换回来了~··

    回复

  7. 所以我一直強調評論要審核,這樣就沒問題了

    回复

  8. Gravatarkawen chan

    2.7.1是不是已经修复了没个BUG?

    回复

    Gravatarcuikai Reply:

    官方仍然没有修正该问题。

  9. 如果 昵称和邮件都用了 就会显示您 所填写的昵称已经有人使用了…

    能不能显示是 您所填写的昵称和邮箱已经有人使用了…

    从wp论坛过来的 你的文都对我有帮助 就是那个CTRL+ENTER的代码 我不知道加在哪里合适 我是菜鸟

    回复

发表评论 (无需注册)

支持CTRL+ENTER快捷提交
崔凯博客
Powered by WordPress | Theme by ck web design | TOP 顶部
Copyright © 崔凯博客 All rights reserved. 京ICP备09029324号.