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;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM