/** * 管理者ログイン処理 * * @param string $login_id ログインID文字列 * @return string $arrData メンバー情報(アクセス用トークンIDを含む) */ function lfDoLogin($login_id) { $objQuery =& SC_Query_Ex::getSingletonInstance(); //メンバー情報取得 $cols = 'member_id, authority, login_date, name'; $table = 'dtb_member'; $where = 'login_id = ?'; $arrData = $objQuery->getRow($cols, $table, $where, array($login_id)); // アクセス用トークンを取得 $arrData['token_id'] = SC_Helper_Session_Ex::createToken(); // ログイン情報記録 $this->lfSetLoginData($token_id, $arrData['member_id'], $login_id, $arrData['authority'], $arrData['login_date']); return $arrData; }
/** * トランザクショントークンを生成し, 取得する. * * 悪意のある不正な画面遷移を防止するため, 予測困難な文字列を生成して返す. * 同時に, この文字列をセッションに保存する. * * この関数を使用するためには, 生成した文字列を次画面へ渡すパラメーターとして * 出力する必要がある. * * 例) * <input type='hidden' name='transactionid' value="この関数の返り値" /> * * 遷移先のページで, LC_Page::isValidToken() の返り値をチェックすることにより, * 画面遷移の妥当性が確認できる. * * @access protected * @return string トランザクショントークンの文字列 */ public function getToken() { if (empty($_SESSION[TRANSACTION_ID_NAME])) { $_SESSION[TRANSACTION_ID_NAME] = SC_Helper_Session_Ex::createToken(); } return $_SESSION[TRANSACTION_ID_NAME]; }
/** * トランザクショントークンを取得する * * @return string */ function getRefusalToken() { if (empty($_SESSION['refusal_transactionid'])) { $_SESSION['refusal_transactionid'] = SC_Helper_Session_Ex::createToken(); } return $_SESSION['refusal_transactionid']; }