WordPress 一直以来都有个问题, 如果博主设置评论不需要审核批准就能发表, 那么有可能被人冒名顶替管理员进行留言。大家应该都知道,Wordpress 留言显示的头像是通过留言者的 Email 地址去匹配 Gravatar 通用头像进行显示的,这时候如果我们的邮箱和用户名被不坏好意的人知晓了(其实这个很容易就能得到),他就可以冒充管理员进行垃圾评论,甚至误导辱骂其他留言者回复等恶意行为。虽说管理员可以随后删除这些评论, 但是万一管理员长期不在线或者有人恶意留言那还是挺麻烦的。
下面就给大家分享 2 段有用的代码,用以避免不怀好意的人冒充管理员(Admin) 昵称或邮箱在 WordPress 博客里面留言评论,保证 wordpress 安全。
方法 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
/* 防止在WordPress别人冒充博主发表评论 */
functionlxtx_usecheck($incoming_comment){
$isSpam=0;
// 将以下代码中的 lxtx 改成博主昵称
if(trim($incoming_comment[‘comment_author’])==‘lxtx’)
$isSpam=1;
// 将以下代码中的 example#ilxtx.com 改成博主Email
if(trim($incoming_comment[‘comment_author_email’])==‘example#ilxtx.com’)
$isSpam=1;
if(!$isSpam)
return$incoming_comment;
wp_die(‘请勿冒充博主发表评论’);
}
if(!is_user_logged_in())
add_filter(‘preprocess_comment’,‘lxtx_usecheck’);
|
方法 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/* 防止在WordPress别人冒充博主发表评论 */
functionlxtx_no_fake_blog_owner_comment($incoming_comment){
// 将以下代码中的 龙笑天 和 龙笑天下 改成博主昵称
$name=array(‘龙笑天’,‘龙笑天下’);
// 将以下代码中的 example#ilxtx.com 改成博主Email
$email=array(‘example#ilxtx.com’);
global$user_ID;
if(!is_super_admin()){
if(in_array(strtolower(trim($incoming_comment[‘comment_author’])),$name)||in_array(strtolower(trim($incoming_comment[‘comment_author_email’])),$email)){
wp_die(‘请不要冒充博主发表评论!’);
exit;
}else{
return$incoming_comment;
}
}else{
return$incoming_comment;
}
}
add_filter(‘preprocess_comment’,‘lxtx_no_fake_blog_owner_comment’);
|
以上 2 种方法任选其一,达到的效果是一样的:如果非登陆用户使用管理员昵称或邮箱进行留言回复行为,会直接弹出错误提示。
PS:如果出现某些问题,可以把其中的
wp_die
改为err
试下。