首页 问答 正文

如何在WordPress中添加IP地址限制登录

注册会员 / 悠然自学 / 2023-06-11/ 浏览 126 次

在WordPress中添加IP地址限制登录,需要借助插件或者手动添加代码来实现。

  1. 使用插件

有很多插件可以帮助我们实现IP地址限制登录功能,例如Limit Login Attempts Reloaded、Login LockDown等,具体使用方法可以查看插件安装页面提供的说明文档。

  1. 手动添加代码

我们也可以通过手动添加代码来实现IP地址限制登录功能,以下是代码示例:

function restrict_login_by_ip() {
    $allowed_ips = array( '192.168.1.1', '192.168.1.2', '192.168.1.3' ); // 允许登录的IP地址
    $user_ip = $_SERVER['REMOTE_ADDR']; // 获取用户IP地址
    if ( !in_array( $user_ip, $allowed_ips ) ) {
        wp_die( '您的IP地址不在允许范围内!' ); // 如果用户IP不在允许范围内,则返回错误信息
    }
}
add_action( 'wp_login_failed', 'restrict_login_by_ip' ); // 登录失败时触发 

代码解释:

首先定义了一个允许登录的IP地址数组$allowed_ips,然后使用$_SERVER['REMOTE_ADDR']获取用户IP地址。接着使用in_array()函数判断用户IP地址是否在允许范围内,如果不在则使用wp_die()函数返回一个错误信息。最后使用add_action()函数将函数restrict_login_by_ip()与wp_login_failed事件关联起来,即在登录失败时触发restrict_login_by_ip()函数。

最后,需要说明的是:上述代码仅限于在登录失败时限制IP地址,如果需要限制成功登录的用户IP地址,则需要将add_action()的第一个参数设置为wp_login,这样可以在用户成功登录后进行限制。

大家谈论
    我的见解