- Timestamp:
- 2007/08/27 17:49:31 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/frontparts/login_check.php
r15153 r15367 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 8 // {{{ requires 7 9 require_once("../require.php"); 10 require_once(CLASS_PATH . "page_extends/frontparts/LC_Page_FrontParts_LoginCheck_Ex.php"); 8 11 9 // 不正なURLがPOSTされた場合はエラー表示 10 if (isset($_POST['url']) && lfIsValidURL() !== true) { 11 gfPrintLog('invalid access :login_check.php $POST["url"]=' . $_POST['url']); 12 sfDispSiteError(PAGE_ERROR); 13 } 12 // }}} 13 // {{{ generate page 14 14 15 $objCustomer = new SC_Customer(); 16 // クッキー管理クラス 17 $objCookie = new SC_Cookie(COOKIE_EXPIRE); 18 // パラメータ管理クラス 19 $objFormParam = new SC_FormParam(); 20 // パラメータ情報の初期化 21 lfInitParam(); 22 // POST値の取得 23 $objFormParam->setParam($_POST); 24 25 switch($_POST['mode']) { 26 case 'login': 27 $objFormParam->toLower('login_email'); 28 $arrErr = $objFormParam->checkError(); 29 $arrForm = $objFormParam->getHashArray(); 30 // クッキー保存判定 31 if ($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") { 32 $objCookie->setCookie('login_email', $_POST['login_email']); 33 } else { 34 $objCookie->setCookie('login_email', ''); 35 } 36 37 if(count($arrErr) == 0) { 38 if($objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 39 header("Location: " . $_POST['url']); 40 exit; 41 } else { 42 $objQuery = new SC_Query; 43 $where = "email ILIKE ? AND status = 1 AND del_flg = 0"; 44 $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email'])); 45 46 if($ret > 0) { 47 sfDispSiteError(TEMP_LOGIN_ERROR); 48 } else { 49 sfDispSiteError(SITE_LOGIN_ERROR); 50 } 51 } 52 } else { 53 // 入力エラーの場合、元のアドレスに戻す。 54 header("Location: " . $_POST['url']); 55 exit; 56 } 57 break; 58 case 'logout': 59 // ログイン情報の解放 60 $objCustomer->EndSession(); 61 $mypage_url_search = strpos('.'.$_POST['url'], "mypage"); 62 //マイページログイン中はログイン画面へ移行 63 if ($mypage_url_search == 2){ 64 header("Location: /mypage/login.php"); 65 }else{ 66 header("Location: " . $_POST['url']); 67 } 68 exit; 69 break; 70 } 71 72 //----------------------------------------------------------------------------------------------------------------------------------- 73 /* パラメータ情報の初期化 */ 74 function lfInitParam() { 75 global $objFormParam; 76 $objFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 77 $objFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "a", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 78 $objFormParam->addParam("パスワード", "login_pass", STEXT_LEN, "", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 79 } 80 81 /* POSTされるURLのチェック*/ 82 function lfIsValidURL() { 83 $site_url = sfIsHTTPS() ? SSL_URL : SITE_URL; 84 $check_url = trim($_POST['url']); 85 86 // ローカルドメインチェック 87 if (!preg_match("|^$site_url|", $check_url) && !preg_match("|^/|", $check_url)) { 88 return false; 89 } 90 91 // 改行コード(CR・LF)・NULLバイトチェック 92 $pattern = '/\r|\n|\0|%0D|%0A|%00/'; 93 if (preg_match_all($pattern, $check_url, $matches) > 0) { 94 return false; 95 } 96 97 return true; 98 } 99 15 $objPage = new LC_Page_FrontParts_LoginCheck_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 100 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.