wordpress强力限制暴力破解密码

wordpress博客经常会遇到有人暴力破解密码的问题,也就是有人频繁访问wp-login.php页面,这时候要采取一定的措施解决此问题。
我现在采取的主要是两个方法:1.限制每秒每个IP访问总次数;2.wp-login.php传入参数验证

1.限制每秒每个IP一段时间内访问总次数
http{
    ...
    #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
    #以$binary_remote_addr 为key,限制平均每秒的请求为20个,
    #1M能存储16000个状态,rete的值必须为整数,
    #如果限制两秒钟一个请求,可以设置成30r/m
    limit_req_zone $binary_remote_addr zone=allips:5m rate=10r/s;
    ...
    server{
        ...
        location {
            ...
            #限制每ip每秒不超过10个请求,漏桶数burst为5
            #brust的意思就是,如果第1秒、2,3,4秒请求为9个,
            #第5秒的请求为15个是被允许的。
            #但是如果你第1秒就15个请求,第2秒超过10的请求返回503错误。
            #nodelay,如果不设置该选项,严格使用平均速率限制请求数,
            #第1秒15个请求时,5个请求放到第2秒执行,
            #设置nodelay,15个请求将在第1秒执行。
            limit_req zone=allips burst=5 nodelay;
            ...
        }
        ...
    }
    ...
}

解释的很清楚,就是每秒单个IP最多访问10次。

2.wp-login.php传入参数验证

在访问wp-login.php页面的时候必须传入特定的参数进行验证,正确方能登陆,错误的话就跳转到一个指定页面,只需要在functions.php中绑定一个登陆钩子函数即可,如下:

add_action('login_enqueue_scripts','login_protection');
function login_protection(){
	if($_GET['root'] != 'iaccepted')header('Location: http://www.iaccepted.net/');
}

这样设置后,两重保护,就能很大程度保证密码被暴力破解了。

本文遵从CC3.0协议转载请注明:转自凌风技术站

本文标题:wordpress强力限制暴力破解密码

本文链接地址:http://www.iaccepted.net/web/34.html

相关文章



发表评论

电子邮件地址不会被公开。 必填项已用*标注