示例#1
0
 public function isLoggedInAdminPage()
 {
     $objSess = new Session();
     if ($objSess->isSuccess() === SUCCESS) {
         return true;
     }
     return false;
 }
示例#2
0
 /**
  * ログイン情報セッション登録
  *
  * @param  integer $member_id  メンバーID
  * @param  string  $login_id   ログインID文字列
  * @param  integer $authority  権限ID
  * @param  string  $login_name ログイン表示名
  * @param  string  $last_login 最終ログイン日時(YYYY/MM/DD HH:ii:ss形式) またはNULL
  * @return string  $sid 設定したセッションのセッションID
  */
 public function lfSetLoginSession($member_id, $login_id, $authority, $login_name, $last_login)
 {
     // Session Fixation対策
     SessionHelper::regenerateSID();
     $objSess = new Session();
     // 認証済みの設定
     $objSess->SetSession('cert', CERT_STRING);
     $objSess->SetSession('member_id', $member_id);
     $objSess->SetSession('login_id', $login_id);
     $objSess->SetSession('authority', $authority);
     $objSess->SetSession('login_name', $login_name);
     $objSess->SetSession('uniqid', $objSess->getUniqId());
     if (Utils::isBlank($last_login)) {
         $objSess->SetSession('last_login', date('Y-m-d H:i:s'));
     } else {
         $objSess->SetSession('last_login', $last_login);
     }
     return $objSess->GetSID();
 }
示例#3
0
 /**
  * ログアウト処理
  *
  * @return void
  */
 public function lfDoLogout()
 {
     $objSess = new Session();
     $objSess->logout();
 }
示例#4
0
 /**
  * 認証の可否判定
  *
  * @param Session $objSess
  * @param bool $disp_error
  * @return bool
  */
 public static function sfIsSuccess(Session $objSess, $disp_error = true)
 {
     $ret = $objSess->IsSuccess();
     if ($ret != SUCCESS) {
         if ($disp_error) {
             // エラーページの表示
             static::sfDispError($ret);
         }
         return false;
     }
     // リファラーチェック(CSRFの暫定的な対策)
     // 「リファラ無」 の場合はスルー
     // 「リファラ有」 かつ 「管理画面からの遷移でない」 場合にエラー画面を表示する
     if (empty($_SERVER['HTTP_REFERER'])) {
         // TODO 警告表示させる?
         // sfErrorHeader('>> referrerが無効になっています。');
     } else {
         $domain = static::sfIsHTTPS() ? HTTPS_URL : HTTP_URL;
         $pattern = sprintf('|^%s.*|', $domain);
         $referer = $_SERVER['HTTP_REFERER'];
         // 管理画面から以外の遷移の場合はエラー画面を表示
         if (!preg_match($pattern, $referer)) {
             if ($disp_error) {
                 static::sfDispError(INVALID_MOVE_ERRORR);
             }
             return false;
         }
     }
     return true;
 }