验证码输入错误,服务端如何刷新验证码

浏览:1920 发布日期:2015/07/12 分类:求助交流 关键字: 验证码
问题如题,找到很多刷新的办法都是在web上让js刷新,但这并不安全,毕竟刷新验证码的主动权再web上,验证错误,服务端主动刷新才安全,
我现在的解决把法是,修改 verify.class.php ,插入
session($key, null);//验证失败后,清空验证码,防暴力破解。这是我自己改的!
这行,我现在想知道有没什么更好的办法,不去动原始的码。  /**
     * 验证验证码是否正确
     *
     * @param string $code 用户验证码
     * @return bool 用户验证码是否正确
     */
    public function check($code, $id = '') {
        $key = $this->authcode($this->seKey).$id;
        // 验证码不能为空
        $secode = session($key);
        if(empty($code) || empty($secode)) {
            return false;
        }
        // session 过期
        if(NOW_TIME - $secode['verify_time'] > $this->expire) {
            session($key, null);
            return false;
        }

        if($this->authcode(strtoupper($code)) == $secode['verify_code']) {
            session($key, null);
            return true;
        }
        session($key, null);//验证失败后,清空验证码,防暴力破解。这是我自己改的!
        return false;
    }
最佳答案
评论() 相关
后面还有条评论,点击查看>>