专业wordpress网站维护,帮您解决wordpress网站遇到的各种问题
-
专业 专注wordpress相关服务
-
高效 快速处理最快1天完成
微信联系
微信联系
微信联系
微信联系,详细沟通
继续分享wordpress网站维护教程。wordpress网站安全是我们必须要重视的问题之一,有很多网站后台登陆系统都是可以无限次输入密码的,所以理论上只要不断的尝试,黑客就有可能破解你的网站密码,从而对你的网站进行一下非法操作,后果严重。
那要怎么办呢?接下来悦然给大家分享限制用户登陆次数的方法。
我们可以在当前wordpress建站主题的functions.php文件中添加以下代码来实现限制用户登陆次数的效果:
/*-----------------------------------------------------------------------------------*/
/* wordpress限制ip登陆次数
/*-----------------------------------------------------------------------------------*/
# 阻止登录的函数,直接 404
function block_login() {header("HTTP/1.1 404 Not Found");header("Status: 404 Not Found");exit;}
# 登录前判断登陆的失败次数
add_action("login_head",function () {
$login_ip = $_SERVER['REMOTE_ADDR'];
$login_ip_list = unserialize(get_option("LOGIN_IP_LIST"));
# 登录失败超过2次就进行阻止登陆
if($login_ip_list && ($login_ip_list[$login_ip] > 2)) {block_login();}});
# 登录失败的处理
add_action('login_errors', function ($info) {
$login_ip = $_SERVER['REMOTE_ADDR'];
$login_ip_list = get_option("LOGIN_IP_LIST");
if($login_ip_list) {$login_ip_list = unserialize($login_ip_list);} else {$login_ip_list = array();}
# 登录次数 + 1
$login_ip_list[$login_ip] += 1;
update_option('LOGIN_IP_LIST', serialize($login_ip_list));
# 提示登录失败的次数
return "$login_ip 登陆次数 " . $login_ip_list[$login_ip];});
# 证明已经登录成功了
add_action("admin_menu", function () {
$login_ip = $_SERVER['REMOTE_ADDR'];
$login_ip_list = unserialize(get_option("LOGIN_IP_LIST"));
$login_ip_list[$login_ip] = 0;
update_option('LOGIN_IP_LIST', serialize($login_ip_list));});
以上代码可以根据IP来限制登陆次数,默认是超过2次就限制登陆,你也可以根据实际情况修改数值。
把代码添加到functions.php文件中可能会受更新主题或更新主题的影响,这里悦然wordpress建站推荐大家使用Code Snippets插件这代码functions.php文件。
除了使用和代码,我们还可以使用wordpress插件来限制用户登陆次数,这里推荐的wordpress插件是Limit Login Attempts Reloaded。
插件下载:
Limit Login Attempts Reloaded插件可以在插件中心下载,也可以通过上面的链接下面安装。
插件安装启用之后只需要进行简单的设置,然后保存就可以生效了。
以上就是今天的wordpress网站维护教程,希望大家能够重视网站安全问题,除了限制用户登陆数次,我们还可以通过防火墙等方式进一步提升网站安全性能。