Redis限制在规定时间范围内登陆错误次数限制

Posted 御世制人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis限制在规定时间范围内登陆错误次数限制相关的知识,希望对你有一定的参考价值。

//登录错误次数校验
$key = "login_{$username}";
$res = $this->_redisVerify($key,10,1800);//半小时内密码输入错误10次
if(!$res){
     echo "手机号或密码错误次数过多,请稍后再试";
 }else{
     echo "手机号或密码错误";
 }
/**
* redis限制
* @param $key : redis key
* @param $times : 次数
* @param $time : key有效时间
* @return bool
*/
private function _redisVerify($key,$times,$time = 86400){
        $redis = new Utils_Redis();
        $redis->select(11);//选择db 10
        $value = (int)$redis->get($key);
        if($value && $value < $times){//防刷次数
            $redis->increment($key);//如果有手机号键名,添加次数
        }elseif(!$value){
            $redis->set($key,1,$time);//设置TimeOut
        }elseif($value >= $times){
            return false;
        }
        return true;
}

 

以上是关于Redis限制在规定时间范围内登陆错误次数限制的主要内容,如果未能解决你的问题,请参考以下文章

StringBoot+redis-用户登陆限制密码输入次数(超出后禁用两个小时)

关于JAVA的WEB开发,想在页面中实现在一段时间内限制同一个IP登陆失败次数过多

利用Redis实现限流

使用memcache或redis限制某个用户或者某ip用户一段时间内最大投票次数

WINDOS 远程桌面总被人暴力破解 如何限制登录次数

必看企业级Redis锁资产巡检扫描业务场景实现(加锁限制扫描次数)