wordpress防止管理员被冒充,让管理员评论与众不同

php相关 / 2011年02月03日 00时08分 / 47536人浏览
WordPress默认并不会审核评论到底是不是博主发表的,如果有人知道博主的昵称和Email ,那么它使用这个昵称和Email,就可以成功的冒充博主发表评论,进而可能会欺骗其他访客。我测试了3种方法可以解决这个问题。 第一种 禁止访客用管理员的昵称或email 进行评论 修改评论回调函数用到的文件是function.php 如果主题有自己的评论文件则修改主题中的 如:本站修改主题中的comments-ajax.php

WordPress 3.0版本

用文本编辑器打开WordPress安装目录下的wp-comments-post.php,将以下代码(大概在70行左右):
if ( get_option('comment_registration') || 'private' == $status ) wp_die( __('Sorry, you must be logged in to post a comment.') );
替换成:
if ('管理员昵称' == $comment_author || '管理员邮箱' == $comment_author_email) wp_die('呵呵, 开玩笑吗?'); if ( get_option('comment_registration') || 'private' == $status ) wp_die( __('Sorry, you must be logged in to post a comment.') );

WordPress 2.9.2版本

用文本编辑器打开WordPress安装目录下的wp-comments-post.php,查找并将以下代码(63行左右):
if ( get_option('comment_registration') || 'private' == $status->post_status ) wp_die( __('Sorry, you must be logged in to post a comment.') );
替换成: if ('管理员昵称' == $comment_author || '管理员邮箱' == $comment_author_email) wp_die('呵呵, 开玩笑吗?'); if ( get_option('comment_registration') || 'private' == $status->post_status ) wp_die( __('Sorry, you must be logged in to post a comment.') ); 以后博主要发表评论的话,请先登录。 效果图: 第二种 为管理员账号添加(管理员)注释 修改评论回调函数用到的文件是function.php 找到<div class="comment-author"> 在后面添加 <?php if($comment->user_id == 1) echo " <span style='color:#666' title='lostphp.com'>(<span style='color:#FF3333'>管理员</span>)</span>" ?> 如:
效果图: 由于主题不一样,所以评论作者那里的代码也写的不太一样,一般的代码是 评论作者的标准代码: <?php comment_author(); ?> 评论的ID: <?php comment_ID(); ?> 评论的作者: <?php comment_author(); ?> 评论者的链接: <?php comment_author_link(); ?> 第三种 为管理员添加标签 先下载标签 修改评论回调函数用到的文件是function.php 找到<div class="comment-author"> 在后面添加 <?php if($comment->user_id == 1) echo "<div class='admin'><img src='http://lostphp.com/wp-content/uploads/2011/02/admin1.gif'></div>" ?> 图片可以换成自己的路径,不换也可以 效果图: