1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| public function send_email_code(){ /** 为了防止恶意请求,设置校验码进行第一道过滤 */ $p_code = request('get','str','p_code',0); if ($p_code=='641351484'){ /** 先对有没有请求发送邮件进行判断 */ if (!session('?email')){ $email['code'] = rand(1000,9999); $email['ip'] = ip_select($_SERVER['REMOTE_ADDR']); $email['time'] = time(); $email['state'] = 1; // sendMail('nylrain@163.com','聊天室后台登录验证码','请求发起的IP地址:'.$email['ip'].' 验证码:'.$email['code']); session('email',$email); echo '1'; /** 验证码已经发送 */ }else{ $email = session('email'); $now_time = time()-$email['time']; /** 判断请求时间是否超过一个小时*/ if ($now_time>=3600){ session('email',null); $this->send_email_code(); }else{ echo '2';/** 验证码已发送,请勿重复请求 */ } } }else{ echo '3'; /** 校验码错误 */ } } public function validate(){ $code = request('get','int','code',0); if (!session('?email')){ echo '4';/** 请先发送验证码 */ }else{ $email = session('email'); if ($email['state']==1){ if ($code==$email['code']){ $admin['time'] = date('Y-m-d'); $admin['ip'] = $email['ip']; session('email',null); session('admin',$admin); echo '1';/** 验证成功 */ }else{ session('email.state',0); echo '2';/** 验证失败 */ } }else{ echo '3';/** 您的验证次数过多已被封锁 */ } } } /** * 登出操作 */ public function logout() { // Session::set(); session('admin', null); $this->redirect('/admin.php?c=index'); exit(); // $this->get_session(); }
|