关于TP提供的验证码问题

浏览:1604 发布日期:2014/07/18 分类:技术分享 关键字: Verify 图片验证码
许多TPer反映,TP提供的图片验证码只能验证一次,据说其实是有快捷的方式,但小弟还是没用上,然后我跟踪代码后添加一个仅验证而不清除的方法。
======= 代码如下 ==========
/**
* 获取验证存于session里的Key码
* @id 验证码标识
* @return 验证码标识Key码
*/
public function getVerifyKey($id = ''){
return $this->authcode($this->seKey).$id;
}

public function checkVerifyTime($id = ''){
$key = getVerifyKey($id);
// 验证码不能为空
$secode = session($key);
if(empty($secode)) {
return false;
}
// session 过期
if(NOW_TIME - $secode['verify_time'] > $this->expire) {
session($key, null);
return false;
}
}

/**
* 验证验证码是否正确,但不清除保存在session里的数据
* @access public
* @param string $code 用户验证码
* @param string $id 验证码标识
* @return bool 用户验证码是否正确
*/
public function checkWithoutClean($code, $id = '') {
$key = getVerifyKey($id);
// 验证码不能为空
$secode = session($key);
if(empty($code) || empty($secode)) {
return false;
}
// session 过期
if(NOW_TIME - $secode['verify_time'] > $this->expire) {
return false;
}

if($this->authcode(strtoupper($code)) == $secode['verify_code']){
return true;
}

return false;
}
=================

如果看着可以的话, 就拿去用吧。
最佳答案
评论( 相关
后面还有条评论,点击查看>>