WordPress限制ip登陆次数

Ledo
2018-12-17 / 9 评论 / 11,444 阅读 / 正在检测是否收录...

为了防止这个无限尝试我后台登录密码,我采用了一个限制IP登录次数功能,它的原理很简单是采用当前ip限制登录,有效的防止登录错误密码次数,如果超过尝试3次密码错误时候,它会记录下你这登录ip地址,第4次登录时它会限制你继续访问后台登录,而且会显示空白地址让你无法在继续尝试,老规矩只需要添加一串代码就搞定,不用安装任何插件实现此功能!

/*-----------------------------------------------------------------------------------*/
/* 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));});

0

评论 (9)

取消
  1. 头像
    moeyao
    Windows 10 · Google Chrome

    ssl该更新了 ::aru:confuse::

    回复
  2. 头像
    洁灰博客园
    Windows 7 · Google Chrome

    表示我的博客没有登录功能,,,

    回复
    1. 头像
      刘大喵 作者
      Linux · Google Chrome
      @ 洁灰博客园

      你的不是wp吧?

      回复
  3. 头像
    刘大喵 作者
    Windows 10 · FireFox

    嗯 对的

    回复
  4. 头像
    唯心寒辞
    Windows 10 · Google Chrome

    我是安装了wordfence,后台安全还是非常重要的

    回复
    1. 头像
      刘大喵 作者
      Windows 10 · FireFox
      @ 唯心寒辞

      后台路径也改了 一般还是比较安全的

      回复
  5. 头像
    程志辉
    Windows 10 · FireFox

    把后台地址改一下撒

    回复
  6. 头像
    蒲公英
    Windows 10 · Google Chrome

    我现在服务器log都很少看了~

    回复
    1. 头像
      喵君 作者
      Linux · Google Chrome
      @ 蒲公英

      没啥异常都不看吧?

      回复