コード例 #1
0
ファイル: Password.php プロジェクト: derek-chow/YunYinService
 /**
  * 通过邮箱找回密码
  * @method POST_emailAction
  * @author NewFuture
  */
 public function POST_emailAction()
 {
     $response['status'] = 0;
     if (!Input::post('email', $email, 'email')) {
         $response['info'] = '邮箱格式有误或者不支持!';
     } elseif (!Input::post('number', $number, 'card')) {
         $response['info'] = '学号格式有误!';
     } elseif (!Safe::checkTry('pwd_email_' . $number)) {
         $response['info'] = '尝试次数过多,临时封禁!';
     } elseif (!($user = UserModel::where('number', $number)->field('id,name,email')->find())) {
         $response['info'] = '尚未注册,或者学号错误';
     } elseif (empty($user['email'])) {
         $response['info'] = '未绑定邮箱,或者学号错误';
     } elseif (Encrypt::decryptEmail($user['email']) != $email) {
         $response['info'] = '绑定邮箱不一致,或者邮箱错误';
     } elseif (!Mail::findPwd($email, $code = Random::code(6), $user['name'])) {
         $response['info'] = '邮件发送出错,请联系我们!';
     } else {
         /*发送成功*/
         $findPwd = ['id' => $user['id'], 'number' => $number, 'code' => strtoupper($code)];
         Session::set('find_info', $findPwd);
         Safe::del('pwd_email_' . $number);
         $response['status'] = 1;
         $response['info'] = '找回验证码已发送到' . $email;
     }
     $this->response = $response;
 }
コード例 #2
0
ファイル: Password.php プロジェクト: derek-chow/YunYinService
 /**
  * 通过邮箱找回密码
  * @method POST_emailAction
  * @author NewFuture
  */
 public function POST_emailAction()
 {
     $response['status'] = 0;
     if (!Input::post('email', $email, 'email')) {
         $response['info'] = '邮箱格式有误或者不支持!';
     } elseif (!Input::post('account', $account, Config::get('regex.account'))) {
         $response['info'] = '学号格式有误!';
     } elseif (!Safe::checkTry('pwd_email_' . $account)) {
         $response['info'] = '尝试次数过多,临时封禁!';
     } elseif (!($Printer = PrinterModel::where('account', $account)->field('id,email')->find())) {
         $response['info'] = '尚未注册,或者账号错误';
     } elseif (empty($Printer['email'])) {
         $response['info'] = '未绑定邮箱,或邮箱不存在';
     } elseif ($Printer['email'] != $email) {
         $response['info'] = '绑定邮箱不一致,或者邮箱错误';
     } elseif (!Mail::findPwd($email, $code = Random::code(6))) {
         $response['info'] = '邮件发送出错,请联系我们!';
     } else {
         /*发送成功*/
         $find = ['id' => $user['id'], 'account' => $account, 'code' => strtoupper($code)];
         Session::set('find_info_p', $find);
         Safe::del('pwd_email_' . $account);
         $response['status'] = 1;
         $response['info'] = '验证邮件已发送!';
     }
     $this->response = $response;
 }
コード例 #3
0
ファイル: Auth.php プロジェクト: derek-chow/YunYinService
 /**
  * 登录注册验证
  * @method indexAction
  * @return [type]     [description]
  * @author NewFuture
  */
 public function indexAction()
 {
     if (Input::post('number', $number, 'card') && Input::post('password', $password, 'trim')) {
         Input::post('sch_id', $sch_id, 'int');
         $safekey = $sch_id . 'auth_' . $number;
         if (!Safe::checkTry($safekey, 5)) {
             $this->response(0, '尝试次过度,账号临时封禁');
         } elseif (Input::post('code', $code, 'ctype_alnum')) {
             /*输入验证码直接验证*/
             if ($this->verify($number, $password, $sch_id, $code)) {
                 /*验证通过*/
                 Safe::del($safekey);
             } else {
                 $this->response(-1, '学校账号验证失败,请检查密码是否正确,您也可尝试登录该系统!');
             }
         } elseif ($result = $this->login($number, md5($password), $sch_id)) {
             /*登录成功*/
             Safe::del($safekey);
         } elseif ($sch_id && false === $result) {
             /*指定学校后登录失败*/
             $this->response(-1, '登录失败!请检查学号和密码是否正确,或者找回密码!');
         } elseif ($this->verify($number, $password, $sch_id)) {
             /*验证成功*/
             Safe::del($safekey);
         } else {
             /*注册验证失败*/
             $this->response(-1, '验证出错,请检查学号或者密码是否正确!');
         }
     } else {
         $this->response(-1, '学号或者密码无效!');
     }
 }
コード例 #4
0
ファイル: Auth.php プロジェクト: derek-chow/YunYinService
 /**
  * 打印店登录
  * @method loginAction
  * @return [type]      [description]
  * @author NewFuture
  */
 public function POST_indexAction()
 {
     $response['status'] = 0;
     if (!Input::post('account', $account, Config::get('regex.account'))) {
         $response['info'] = '账号格式错误';
     } elseif (!Input::post('password', $password, 'isMd5')) {
         $response['info'] = '密码未加密处理';
     } elseif (!Safe::checkTry('printer_auth_' . $account)) {
         $response['info'] = '尝试次数过多账号临时封禁,稍后重试或者联系我们';
     } elseif (!($Printer = PrinterModel::where('account', $account)->field('id,sch_id,password,status,name')->find())) {
         $response['info'] = '账号错误';
     } elseif (Encrypt::encryptPwd($password, $account) != $Printer['password']) {
         $response['info'] = '密码错误';
     } else {
         Safe::del('printer_auth_' . $account);
         unset($Printer['password']);
         $sid = Session::start();
         Session::set('printer', ['id' => $Printer['id'], 'sch_id' => $Printer['sch_id']]);
         $response['status'] = 1;
         $response['info'] = ['sid' => $sid, 'printer' => $Printer];
     }
     $this->response = $response;
 }
コード例 #5
0
ファイル: User.php プロジェクト: derek-chow/YunYinService
 /**
  * 修改用户邮箱
  * PUT /user/1/phone {code:"C09Eaf"}
  * @method GET_infoAction
  * @param  integer        $id [description]
  * @author NewFuture
  */
 public function PUT_emailAction($id = 0)
 {
     $id = $this->auth($id);
     $response['status'] = 0;
     $Code = new Model('code');
     if (!Input::put('code', $code, 'ctype_alnum')) {
         $response['info'] = '验证码格式不对';
     } elseif (!$Code->where('use_id', $id)->where('type', 1)->field('id,time,code,content')->find()) {
         $response['info'] = '验证信息不存在';
     } elseif (!Safe::checkTry('email_code_' . $id)) {
         $Code->delete();
         Safe::del('email_code_' . $id);
         $response['info'] = '尝试次数过多,请重新验证';
     } elseif (strtoupper($code) != strtoupper(substr($Code['code'], -6))) {
         $response['info'] = '验证码不匹配';
     } elseif (!UserModel::saveEmail($Code['content'], $Code['use_id'])) {
         $response['info'] = '邮箱绑定失败';
     } else {
         $Code->delete();
         Safe::del('email_code_' . $id);
         $response['info'] = $Code['content'];
         $response['status'] = 1;
     }
     $this->response = $response;
 }