protected function checkVerify($code)
 {
     // 验证码不区分大小写
     $code = strtolower($code);
     $checkCode = Common::session(self::ROBOT_CHALLENGE_FLAG);
     // 验证码不存在,直接返回
     if (!$checkCode) {
         $this->error = 'Verify not exists';
         return false;
     }
     if (substr(hash('sha256', $checkCode . $code), 0, 4) !== '0000') {
         // 验证失败
         $checkTimes = intval(Common::session(self::ROBOT_CHALLENGE_VERIFY_TIMES));
         // 验证码超过指定次数后失效
         if ($checkTimes > self::ROBOT_CHALLENGE_ERROR_TIMES) {
             Common::session(self::ROBOT_CHALLENGE_FLAG, null);
         } else {
             $checkTimes++;
             Common::session(self::ROBOT_CHALLENGE_VERIFY_TIMES, $checkTimes);
         }
         $this->error = 'Check verify failure';
         return false;
     } else {
         // 验证成功,重置验证次数统计,删除验证码
         Common::session(self::ROBOT_CHALLENGE_VERIFY_TIMES, null);
         Common::session(self::ROBOT_CHALLENGE_FLAG, null);
         return true;
     }
 }
Beispiel #2
0
 private function delWhiteFlag()
 {
     return Common::session(self::SESSION_WHITE_FLAG, null);
 }
Beispiel #3
0
 private function setVerify($code)
 {
     // 验证码不区分大小写
     $code = strtolower($code);
     // 重置验证码验证失败次数
     Common::session(self::ROBOT_CHALLENGE_VERIFY_TIMES, 0);
     if (Common::session(self::ROBOT_CHALLENGE_FLAG, $code)) {
         return true;
     } else {
         $this->error = 'Set verify into session failure';
         return false;
     }
 }