验证码1小时有效
程序员文章站
2022-04-18 11:54:09
...
//一小时内验证码有效
$ip = getIP();
if (!empty($ip)) {
$before = date('Y-m-d H:i:s', strtotime('-1 hour'));
$now=date('Y-m-d H:i:s',time());
$beforeSms = getData('sms_list', 'all', 'ip=\'' . $ip . '\' AND time > \'' . $before . '\'','','time asc');//$before为年月日日期形式,无法使用time > '2019-11-08 11:23:52' 形式比较大小,比较大小可以使用时间戳形式。
if (!empty($beforeSms)) {
if(strtotime($now) <= (strtotime($beforeSms['0']['time'])+3600)){
//【华融资本】您的手机注册验证码是:6347,如非本人操作,请忽略本信息!
$msgCode=mb_substr($beforeSms['0']['msg'],17,4,'utf-8');//截取中文utf-8类型字符串
$_SESSION['regSmsCode']=$msgCode;
$this->ajaxReturn(array('0', '1小时内,短信验证码仍有效,可再次输入'));
}else{
$rand = rand(1000, 9999);
$_SESSION['regSmsCode']=$rand;
$data = sendSms($phone, '18001', $rand);
if ($data['code'] == '000') {
$this->ajaxReturn(array('1', '发送成功!'));
}
else {
$this->ajaxReturn(array('0', $data['msg'] . '!'));
}
}
}else{
$this->ajaxReturn(array('0', '未知错误'));
}