【WordPress 安全】彻底禁用 wp-login.php 登录页面,防止被机器扫描爆破

2021-11-30 17:25 1,417 51 条评论 龙笑天下
Dragon主题购买

【WordPress 安全】彻底禁用 wp-login.php 登录页面,防止被机器扫描爆破

WordPress 安全是个老生常谈的问题,不能忽视。而对于 WP 安全来说,默认登录页面 WP-login.php 的安全问题是绕不过去的。很多恶意机器扫描 WP-login.php 进行爆破登录,对服务器资源和网站安全都造成了很坏的影响,相信大家都想知道怎么解决此问题!

1 隐藏后台登录地址

目前网上广泛流传的做法是隐藏 WP 默认后台登录地址,代码方法主要是下面 2 种,放入自己主题的 functions.php 里即可:

方法 1方法 2

/**
 * WordPress 隐藏后台登录地址 - 龙笑天下
 * https://www.ilxtx.com/wordpress-disable-wp-login-php.html
 * 方法 1
 */
add_action('login_enqueue_scripts', 'lxtx_login_protection');
function lxtx_login_protection(){
    if( empty($_GET['theme']) || ($_GET['theme'] != 'dragon') ){
        $url = home_url();
        header('Location: $url');
    }
}

加入以上代码后,你只有打开 http://你的域名/wp-login.php?theme=dragon 才能进入 WP 的默认登录页面。但,此方法是掩耳盗铃,仅仅只是隐藏了后台登录地址而已,对于那些使用机器批量扫描直接 post 爆破登录的来说,防护能力为 0...

2 限制登录错误次数

为了解决上面隐藏登录地址代码的防护能力缺陷,我之前一直使用Login LockDown插件来限制登录错误次数,效果非常好。

3 彻底封禁登录地址

上面提到了,隐藏后台登录地址没有防护爆破的能力,在此,龙笑天发现了 2 种彻底封禁 wp-login.php 登录页面的方法,强烈推荐使用方法 3.2,可防止各种 post 扫描爆破,使自己的网站更加安全!

3.1 利用 Nginx 来封禁

可以利用 nginx 配置来直接禁止 wp-login.php 的访问请求。在你域名 conf 中,在其他 location 之前,再加多下面的语句:

location ~ ^/wp-login\.php {
	deny all;
	log_not_found off;
	access_log off;
}

此方法会导致无法通过 wp-login.php 来登录 WP 和退出登录 WP 了。

3.2 WP 自带钩子来封禁

将下面代码放入自己主题的 functions.php 里即可:

当前内容已被隐藏,您需要登录并评论才能查看

此方法直接封禁 wp-login.php 页面的各种请求,各种扫描爆破登录也就无效了。当然,默认的 WP 登录页面也不能进入了;对于那些使用前台弹窗登录(比如本站的Dragon 主题)或自定义登录页面的高级主题来说,不会收到任何影响。

友情提示:
Dragon主题自下版本 3.7.0 开始,已经自带了彻底封禁 WP 默认登录页面的功能,前往“主题设置-常用功能-安全相关”里,找到“隐藏后台登录地址”,按说明填写即可启用;自带了限制登录错误次数的功能,前往“主题设置-社会化登录-安全”里,找到登录限制,按说明设置好即可启用。

Dragon 主题:带用户中心和商城系统的博客 CMS 高级 WordPress 主题 V5.0.0-BG
Dragon 主题:带用户中心和商城系统的博客 CMS 高级 WordPress 主题 V5.0.0

Dragon 主题:带用户中心和商城系统的博客 CMS 高级 WordPress 主题 V5.0.0

1 前言 Dragon 主题(演示网站:www.ilxtx.com),一款强大的多功能高级 Wordpress 商城会员主题,自适应响应式 HTML5+CSS3,兼容 Firefox、Chrome、...

4 删除或改名 wp-login.php

最后,说一种较“极端”点的方法,直接删除掉网站根目录下的 wp-login.php(或改个复杂名字),这样就啥扫描都没用了... 但要注意,删除后,不能使用 WP 默认的登录页面登录网站了;另外,已经登录的用户也不能通过 logout 进行注销登录了。

相关参考

WordPress 隐藏后台登录地址的最新最简单的方法 - Themebetter
修改 WordPress 后台登陆地址和隐藏用户名 - boke112 联盟
Disable Or Redirect WP-login.php - Stackexchange
WordPress 自定义设置 wp-login.php 页面为 404 状态或跳转 - 泪雪博客
如何保护 WordPress 的 wp-login.php 和 wp-cron.php - kn007
WordPress 安全第三步:限制登录次数,防止暴力破解 - WordPress 果酱

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2021-11-24

2021-12-12

发表评论

表情 格式 贴图 链接 私密 签到
Dragon主题购买阿里云特价云服务器1核2G低至86元,N4共享型服务器3年仅需799元腾讯云特价云服务器1核2G 88元/年 2核4G3M688元/3年,更有千元代金券礼包免费领!
评论
正在努力加载中...
扫一扫二维码分享
×
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more