Beispiel #1
0
 /**
  * Function form render
  * @return html [Form bloc all fields]
  */
 public function render()
 {
     session::clear('f_v');
     session::set('f_v', session::generate_sid());
     $verif_value = session::get('f_v');
     $this->form_bloc .= '<form novalidate="novalidate" method="post" class="form-horizontal" id="' . $this->_id_form . '" action="#">';
     $this->form_bloc .= '<input name="verif" type="hidden" value="' . $verif_value . '" />';
     $this->form_bloc .= '<fieldset>';
     $this->form_bloc .= $this->form_fields;
     $this->form_bloc .= '</fieldset>';
     $this->form_bloc .= $this->form_button;
     $this->form_bloc .= '</form>';
     $this->form_bloc .= $this->js_render();
     return print $this->form_bloc;
 }
Beispiel #2
0
 /**
  * Function Format verif form get an set
  * using session 
  * return string true.
  */
 public static function form_verif($sens = true)
 {
     if ($sens == true) {
         session::clear('f_v');
         session::set('f_v', session::generate_sid());
         $str = session::get('f_v');
         echo $str;
     } else {
         if (Mreq::tp('verif') != null) {
             if (Mreq::tp('verif') == session::get('f_v')) {
                 return true;
             } else {
                 exit('3#Token non valid');
             }
             return true;
         }
     }
 }
Beispiel #3
0
 /**
  * 登出
  */
 public function logOut()
 {
     $sessID = session_id();
     $sessLogin = session::get('login');
     if (isset($sessLogin['user_id'])) {
         $userModel = new M('user');
         $userModel->where(array('id' => $sessLogin['user_id']))->data(array('session_id' => ''))->update();
     }
     session::clear('login');
     self::$sessObj->destroy($sessID);
 }
Beispiel #4
0
 public function do_login()
 {
     global $db;
     $this->id_user = $this->_data['user'];
     if ($this->error == true) {
         $this->get_user();
     }
     if ($this->error == true) {
         $this->check_active();
     }
     if ($this->error == true) {
         $this->check_ctc();
     }
     if ($this->error == true) {
         $this->check_pass();
     }
     if ($this->error == true) {
         $this->check_signature();
     }
     //All test is ok do LOGIN
     if ($this->error == true) {
         //Update CTC to 0
         if (!$db->UpdateSinglRows('users_sys', 'ctc', 0, $this->user_info['id'])) {
             $this->log .= $db->Error();
             $this->error = false;
             $this->log .= '</br>Problème MAJ CTC';
         }
         //Expire opened Session for this user
         $val_session['expir'] = 'CURRENT_TIMESTAMP';
         $whr_session['user'] = $this->id_user;
         if (!$db->UpdateRows('session', $val_session, $whr_session)) {
             $this->log .= $db->Error();
             $this->error = false;
             $this->log .= '</br>Problème fermeture sessions ouvertes';
         }
         //Insert new session into DB
         $this->token = md5(uniqid(rand(), true));
         $val_new_session['id'] = MySQL::SQLValue($this->token);
         $val_new_session['user'] = MySQL::SQLValue($this->user_info['nom']);
         $val_new_session['userid'] = MySQL::SQLValue($this->user_info['id']);
         $val_new_session['ip'] = MySQL::SQLValue($_SERVER['REMOTE_ADDR']);
         $val_new_session['browser'] = MySQL::SQLValue($_SERVER['HTTP_USER_AGENT']);
         if (!$db->InsertRow('session', $val_new_session)) {
             $this->log .= $db->Error();
             $this->error = false;
             $this->log .= '</br>Problème enregistrement nouvelle session';
         }
         //Update lastactive into users_sys
         $val_time['lastactive'] = 'CURRENT_TIMESTAMP';
         $whr_user['id'] = MySQL::SQLValue($this->user_info['id']);
         if (!$db->UpdateRows('users_sys', $val_time, $whr_user)) {
             $this->log .= $db->Error();
             $this->error = false;
             $this->log .= '</br>Problème MAJ dérnièrre activité';
         }
         //Open new session for this Login
         if ($this->error == true) {
             //Stop Exsiting Captcha session and creat Sys Sessions
             $session = new session();
             $session->clear('Captcha');
             //Clear Captcha Session
             $session->set('username', $this->user_info['nom']);
             $session->set('userid', $this->user_info['id']);
             $session->set('time', time());
             $session->set('ssid', $this->token);
             $session->set('agence', $this->user_info['agence']);
             $session->set('service', $this->user_info['service']);
             $session->set('imda', $this->user_info['signature']);
             $session->set('defapp', $this->user_info['defapp']);
             $session->set('key', $this->user_info['pass']);
         }
         $this->log .= '<br>Bienvenue <strong>' . $this->user_info['lnom'] . ' ' . $this->user_info['fnom'] . '</strong></br> Vous serez rédiriger dans qulques instants';
     }
     //check if last error is true then return true else rturn false.
     if ($this->error == false) {
         return false;
     } else {
         return true;
     }
 }
Beispiel #5
0
 /**
  * 验证验证码
  * @param string $text 用户输入的验证码
  * @return bool 正确与否
  */
 public function check($text)
 {
     $res = $text != '' && $text == session::get($this->sessName);
     session::clear($this->sessName);
     return $res;
 }