关于暴露WordPress管理员登录用户名的解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
当心wordpress的作者地址暴漏了你的登陆名
wordpress的多数主题,通常都会有一个作者的页面。 而多数都是个人博客。所以作者页面的地址,就可以看出登陆的名字。当然如果是管理员账号的话,就多少有点风险。毕竟网站应该是越安全越好。下面我们来说说如何封闭暴露管理员登录名的办法;
第一种方式如下:批量替换文章内容的文本信息
将以下代码扔到主题文件的functions.php函数文件里面,即可完美解决因为comment_class导致管理员登录名泄漏的漏洞:
- //替换comment_class暴露的登录名为指定输出值——by 龙砚庭博客(http://loomob.com/)
- function lyt_comment_class($lyt){
- $replace = array(
- 'comment-author-你的真实登录名' => 'comment-author-新的输出名',
- );
- $lyt = str_replace(array_keys($replace), $replace, $lyt);
- return $lyt;
- }
- add_filter('comment_class', 'lyt_comment_class');
第二种方式如下: 去除函数部分class值
将comment_class()函数里输出的comment-author-用户登录名这个class去掉,方法很简单,只需要将以下代码加入到主题文件的functions.php中,即可完美解决这个暴露管理员用户名的漏洞!
/**
*(全网独家)如何正确的避免你的 WordPress 管理员登录用户名被暴露
* http://www.ilxtx.com/further-hide-your-wordpress-admin-username.html
* 说明:直接去掉函数 comment_class() 和 body_class() 中输出的 "comment-author-" 和 "author-"
*/
function lxtx_comment_body_class($content){
$pattern = "/(.*?)([^>]*)author-([^>]*)(.*?)/i";
$replacement = '$1$4';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
add_filter('comment_class', 'lxtx_comment_body_class');
add_filter('body_class', 'lxtx_comment_body_class');
第三种方式:修改user_nicename
字段中的名字
修改的方法
修改user_nicename
字段中的名字。
比如我的博客,作者的地址是 https://www.laoliang.net/author/zhan/
可以看到,是域名 + /author/ + zhan 。
如果安装wordpress博客的时候,填写的用户名是 zhan, 那么默认的情况,通过作者的地址,就可以找到 zhan(登陆的的名字)。
wordpress地址中如何隐藏隐藏登陆的名字
修改该数据库 wp_users
+---------------------+---------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+---------------------+------+-----+---------------------+----------------+ | ID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | user_login | varchar(60) | NO | MUL | | | | user_pass | varchar(255) | NO | | | | | user_nicename | varchar(50) | NO | MUL | | | | user_email | varchar(100) | NO | MUL | | | | user_url | varchar(100) | NO | | | | | user_registered | datetime | NO | | 0000-00-00 00:00:00 | | | user_activation_key | varchar(255) | NO | | | | | user_status | int(11) | NO | | 0 | | | display_name | varchar(250) | NO | | | | +---------------------+---------------------+------+-----+---------------------+----------------+
可以看到,wordpress中,关于用户名字的有三个地方
1. user_login 这个是登陆的名字
2. user_nicename 这个是作者页面中,url中的名字。 需要修改的就是这个地方的。
3. dispaly_name 显示作者的名字
可以看到修改一下, user_nicename
就可以,防止登陆名的暴漏。
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!