Changeset 16055 for branches/feature-module-update
- Timestamp:
- 2007/09/26 20:57:48 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php
r15623 r16055 28 28 function init() { 29 29 parent::init(); 30 30 31 } 31 32 … … 36 37 */ 37 38 function process() { 39 $objCustomer = new SC_Customer(); 38 40 // 不正なURLがPOSTされた場合はエラー表示 39 if ( isset($_POST['url']) && $this->lfIsValidURL() !== true) {41 if (!$this->isValidToken()) { 40 42 GC_Utils_Ex::gfPrintLog('invalid access :login_check.php $POST["url"]=' . $_POST['url']); 41 43 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR); 42 44 } 43 44 $objCustomer = new SC_Customer();45 45 // クッキー管理クラス 46 46 $objCookie = new SC_Cookie(COOKIE_EXPIRE); 47 47 // パラメータ管理クラス 48 $ objFormParam = new SC_FormParam();48 $this->objFormParam = new SC_FormParam(); 49 49 // パラメータ情報の初期化 50 50 $this->lfInitParam(); 51 51 // POST値の取得 52 $ objFormParam->setParam($_POST);52 $this->objFormParam->setParam($_POST); 53 53 54 54 if (!isset($_POST['mode'])) $_POST['mode'] = ""; … … 56 56 switch($_POST['mode']) { 57 57 case 'login': 58 $ objFormParam->toLower('login_email');59 $arrErr = $ objFormParam->checkError();60 $arrForm = $ objFormParam->getHashArray();58 $this->objFormParam->toLower('login_email'); 59 $arrErr = $this->objFormParam->checkError(); 60 $arrForm = $this->objFormParam->getHashArray(); 61 61 // クッキー保存判定 62 62 if ($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") { … … 68 68 if(count($arrErr) == 0) { 69 69 if($objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 70 header("Location: " . $_POST['url']); // FIXME70 $this->sendRedirect($this->getLocation($_POST['url'])); 71 71 exit; 72 72 } else { … … 76 76 77 77 if($ret > 0) { 78 sfDispSiteError(TEMP_LOGIN_ERROR);78 SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR); 79 79 } else { 80 sfDispSiteError(SITE_LOGIN_ERROR);80 SC_Utils_Ex::sfDispSiteError(SITE_LOGIN_ERROR); 81 81 } 82 82 } 83 83 } else { 84 84 // 入力エラーの場合、元のアドレスに戻す。 85 header("Location: " . $_POST['url']);// FIXME85 $this->sendRedirect($this->getLocation($_POST['url'])); 86 86 exit; 87 87 } … … 93 93 //マイページログイン中はログイン画面へ移行 94 94 if ($mypage_url_search == 2){ 95 header("Location: /mypage/login.php");// FIXME95 $this->sendRedirect($this->getLocation("/mypage/login.php")); 96 96 }else{ 97 header("Location: " . $_POST['url']);// FIXME97 $this->sendRedirect($this->getLocation($_POST['url'])); 98 98 } 99 99 exit; … … 113 113 /* パラメータ情報の初期化 */ 114 114 function lfInitParam() { 115 global $objFormParam; 116 $objFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 117 $objFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "a", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 118 $objFormParam->addParam("パスワード", "login_pass", STEXT_LEN, "", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 119 } 120 121 /* POSTされるURLのチェック*/ 122 function lfIsValidURL() { 123 $site_url = SC_Utils_Ex::sfIsHTTPS() ? SSL_URL : SITE_URL; 124 $check_url = trim($_POST['url']); 125 126 // ローカルドメインチェック 127 if (!preg_match("|^$site_url|", $check_url) && !preg_match("|^/|", $check_url)) { 128 return false; 129 } 130 131 // 改行コード(CR・LF)・NULLバイトチェック 132 $pattern = '/\r|\n|\0|%0D|%0A|%00/'; 133 if (preg_match_all($pattern, $check_url, $matches) > 0) { 134 return false; 135 } 136 137 return true; 115 $this->objFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 116 $this->objFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "a", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 117 $this->objFormParam->addParam("パスワード", "login_pass", STEXT_LEN, "", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 138 118 } 139 119 }
Note: See TracChangeset
for help on using the changeset viewer.