예제 #1
0
 /**
  * 删除COOKIE
  *
  * @param string $name
  */
 public static function del($name)
 {
     /*$cookie = Yii::app()->request->getCookies();
     
             unset($cookie[$name]);*/
     FCookie::set($name, '', -3600);
 }
예제 #2
0
 public function actionSendMsgPhone()
 {
     $sendMessage = new SendMessage();
     $response = array();
     $code = FHelper::generate_code();
     $content = FConfig::item('siteMessage.register.first') . $code . FConfig::item('siteMessage.register.end');
     $user = FConfig::item('config.ws_mobile.userName');
     $pass = FConfig::item('config.ws_mobile.passWord');
     $today = date('Y-m-d 0:0:0', time());
     $condition = array('condition' => "mobile_no = '{$this->user['phone_num']}' and send_time >= '{$today}'");
     $messageCount = $sendMessage->count($condition);
     if ($messageCount < 5) {
         Yii::import('ext.wsMobile.ws.*');
         require_once 'ws-demo.php';
         $engine = WS_SDK::getInstance($user, $pass);
         $res = $engine->sendSmsAsNormal($this->user['phone_num'], $content, '', 0);
         if (intval($res) === 0) {
             $cryRes = Fn::crypt($code, FConfig::item('config.cookie.phone_code'));
             FCookie::set(FConfig::item('config.cookie.phone_key'), $cryRes);
             $response['status'] = 100000;
             $response['content'] = '短信发送成功';
             $telArr = array('mobile_no' => $this->user['phone_num'], 'mess_code' => $code, 'send_time' => FF_DATE_TIME);
             $sendMessage->attributes = $telArr;
             $sendMessage->save();
         } else {
             $response['status'] = 100001;
             $response['content'] = '短信发送失败,请重试';
         }
     } else {
         $response['status'] = 100002;
         $response['content'] = '该手机号码今天发送验证码过多';
     }
     Yii::app()->end(FHelper::json($response['content'], $response['status']));
 }
예제 #3
0
 private function saveCookie($uid, $email, $rememberme)
 {
     $salt = FF_SALT;
     //$timeout =  time()+60 * 60 * 24 * 7;
     $timeout = time() + 60 * 15;
     $token = FHelper::auth_code("{$uid}\t{$email}\t{$timeout}", 'ENCODE', $salt);
     $attr = array('token' => $token);
     $this->user_model->updateByPk($uid, $attr);
     FCookie::set('auth', $token, 60 * 15);
     if ($rememberme) {
         FCookie::set('user_name', $email, 60 * 60 * 24 * 7);
     } else {
         FCookie::set('user_name', $email, -1);
     }
 }
예제 #4
0
 protected function beforeAction($action)
 {
     $this->_controller = $action->getController()->getId();
     $this->_action = $action->getId();
     $this->returnurl = Fn::url_login_current();
     $token = FCookie::get("auth");
     $now = time();
     list($uid, $email, $timeout) = explode("\t", FHelper::auth_code($token, 'DECODE', FF_SALT));
     if ($uid) {
         $userInfo = $this->getUserinfo($uid);
         if ($userInfo['user']['id']) {
             if ($token == $userInfo['user']['token']) {
                 if ($now < $timeout) {
                     $this->userInfo = $userInfo['info'];
                     $this->user = $userInfo['user'];
                     if ($timeout - $now < 60 * 2) {
                         $timeout = time() + 60 * 15;
                         $token = FHelper::auth_code("{$uid}\t{$email}\t{$timeout}", 'ENCODE', FF_SALT);
                         FCookie::set('auth', $token, 60 * 15);
                         $attr = array('token' => $token);
                         $user_model = new User();
                         $user_model->updateByPk($uid, $attr);
                     }
                     //                        $timeout =  time()+60 *15;
                     //                        $token = FHelper::auth_code("$uid\t$email\t$timeout", 'ENCODE', FF_SALT);
                     //                        FCookie::set('auth', $token);
                 }
             }
         }
     }
     return true;
 }