/** * セッション初期処理を行う。 * * @return void */ function initSession() { // セッションIDの受け渡しにクッキーを使用しない。 ini_set('session.use_cookies', '0'); ini_set('session.use_trans_sid', '1'); ini_set('session.use_only_cookies', '0'); // パラメーターから有効なセッションIDを取得する。 $sessionId = $this->getSessionId(); if (!$sessionId) { session_start(); } /* * PHP4 では session.use_trans_sid が PHP_INI_PREDIR なので * ini_set() で設定できない */ if (!ini_get('session.use_trans_sid')) { output_add_rewrite_var(session_name(), session_id()); } // セッションIDまたはセッションデータが無効な場合は、セッションIDを再生成 // し、セッションデータを初期化する。 if ($sessionId === false || !$this->validateSession()) { session_regenerate_id(true); // セッションデータの初期化 $this->state->inisializeSessionData(); // 新しいセッションIDを付加してリダイレクトする。 if ($_SERVER['REQUEST_METHOD'] == 'GET') { // GET の場合は同じページにリダイレクトする。 $objMobile = new SC_Helper_Mobile_Ex(); header('Location: ' . $objMobile->gfAddSessionId()); } else { // GET 以外の場合はトップページへリダイレクトする。 header('Location: ' . TOP_URLPATH . '?' . SID); } exit; } // 有効期限を更新する. $this->state->updateExpire(); }
/** * セッション初期処理を行う。 * * @return void */ function initSession() { // セッションIDの受け渡しにクッキーを使用しない。 ini_set('session.use_cookies', '0'); // パラメーターから有効なセッションIDを取得する。 $sessionId = $this->getSessionId(); if (!$sessionId) { session_start(); } // セッションIDまたはセッションデータが無効な場合は、セッションIDを再生成 // し、セッションデータを初期化する。 if ($sessionId === false || !$this->validateSession()) { session_regenerate_id(true); // セッションデータの初期化 $this->state->inisializeSessionData(); // 新しいセッションIDを付加してリダイレクトする。 if ($_SERVER['REQUEST_METHOD'] == 'GET') { // GET の場合は同じページにリダイレクトする。 $objMobile = new SC_Helper_Mobile_Ex(); header('Location: ' . $objMobile->gfAddSessionId()); } else { // GET 以外の場合はトップページへリダイレクトする。 header('Location: ' . URL_SITE_TOP . '?' . SID); } exit; } // 有効期限を更新する. $this->state->updateExpire(); }