修改WordPress后台登陆地址和隐藏用户名

最近一段时间老是收到登陆失败的邮件,说明是他人正在试图破解我的密码,一直都以为他们不知道我的用户名,就算知道后台登陆地址也没事,直到今天才发现,使用 WordPress 建站的博主们的用户名都是可见的,除非采取了其他措施来保护。

大部分博主的后台路径都是:http://www.yoursite.com/wp-login.php。

大部分博主的后台登陆用户名都可以这样查看到:

http://www.yoursite.com/?author=1,多用户的可以把 1 变为 2、3、4、5 等,就可以在地址栏查看到各个用户名。

知道了后台登陆地址和用户名后,剩下的就是用暴力破解密码了,如果没有任何防护的话,成功指数相当高。

为了保障我们的后台安全,建议安装一个Limit Login Attempts 插件,来限制强行登陆的次数,同时修改后台登陆地址和隐藏我们的用户名。

修改后台登陆地址:

网上WordPress 大学提供的方法,在所用主题的 functions.php 文件的?>前面添加以下代码即可实现。

  1. add_action('login_enqueue_scripts','login_protection');
  2. function login_protection(){
  3. if($_GET['word'] != 'press')header('Location: http://www.wpdaxue.com/');
  4. }

经本人测试,在本地 WIN 主机测试是成功的,但是上传到Linux 服务器却发生错误:Cannot modify header information,据说是因为 header()要求太苛刻。

本人觉得既然是 header()出错,而且它只是用来跳转而已,何不用 JS 实现跳转呢,于是修改为:

  1. function login_protection(){
  2. if($_GET['word'] != 'press'){
  3. $url = "https://boke112.com";
  4. echo "<script language='javascript' type='text/javascript'>";
  5. echo "window.location.href='$url'";
  6. echo "</script>";
  7. }
  8. }
  9. add_action('login_enqueue_scripts','login_protection');

上传到服务器一测试,果然成功了,登陆 http://www.yoursite.com/wp-login.php 会直接跳转到我们指定的页面,要登录必须是 http://www.yoursite.com/wp-login.php?word=press 才行,而 word、press、跳转的页面都是我们自己设置的,而且 word、press 只有自己知道,大大提高了其安全性。

隐藏用户名:

这个也同样道理,直接将“作者文章列表(?author=1)”跳转到指定的页面,这样就可以做到隐藏用户名的目的。

同样在所用主题的 functions.php 文件的?>前面添加以下代码:

  1. function my_author_link() {
  2. return home_url( '/' );
  3. }
  4. add_filter( 'author_link', 'my_author_link' );

其中 home_url( ‘/’ )是跳转到主页,这里也可以设置为指定的页面,比如 grda 页面,可以为 home_url( ‘grda’ )。

安装了限制强行登录的次数、修改了后台登陆的地址和隐藏了用户名,我相信这个时候的系统应该还是挺安全的。

© 版权声明
THE END
喜欢就支持一下吧
赞赏