Ignore:
Timestamp:
2007/09/26 20:57:48 (15 years ago)
Author:
nanasess
Message:

トランザクションチェックをするように変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php

    r15623 r16055  
    2828    function init() { 
    2929        parent::init(); 
     30 
    3031    } 
    3132 
     
    3637     */ 
    3738    function process() { 
     39        $objCustomer = new SC_Customer(); 
    3840        // 不正なURLがPOSTされた場合はエラー表示 
    39         if (isset($_POST['url']) && $this->lfIsValidURL() !== true) { 
     41        if (!$this->isValidToken()) { 
    4042            GC_Utils_Ex::gfPrintLog('invalid access :login_check.php $POST["url"]=' . $_POST['url']); 
    4143            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR); 
    4244        } 
    43  
    44         $objCustomer = new SC_Customer(); 
    4545        // クッキー管理クラス 
    4646        $objCookie = new SC_Cookie(COOKIE_EXPIRE); 
    4747        // パラメータ管理クラス 
    48         $objFormParam = new SC_FormParam(); 
     48        $this->objFormParam = new SC_FormParam(); 
    4949        // パラメータ情報の初期化 
    5050        $this->lfInitParam(); 
    5151        // POST値の取得 
    52         $objFormParam->setParam($_POST); 
     52        $this->objFormParam->setParam($_POST); 
    5353 
    5454        if (!isset($_POST['mode'])) $_POST['mode'] = ""; 
     
    5656        switch($_POST['mode']) { 
    5757        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(); 
    6161            // クッキー保存判定 
    6262            if ($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") { 
     
    6868            if(count($arrErr) == 0) { 
    6969                if($objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 
    70                     header("Location: " . $_POST['url']); // FIXME 
     70                    $this->sendRedirect($this->getLocation($_POST['url'])); 
    7171                    exit; 
    7272                } else { 
     
    7676 
    7777                    if($ret > 0) { 
    78                         sfDispSiteError(TEMP_LOGIN_ERROR); 
     78                        SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR); 
    7979                    } else { 
    80                         sfDispSiteError(SITE_LOGIN_ERROR); 
     80                        SC_Utils_Ex::sfDispSiteError(SITE_LOGIN_ERROR); 
    8181                    } 
    8282                } 
    8383            } else { 
    8484                // 入力エラーの場合、元のアドレスに戻す。 
    85                 header("Location: " . $_POST['url']);// FIXME 
     85                $this->sendRedirect($this->getLocation($_POST['url'])); 
    8686                exit; 
    8787            } 
     
    9393            //マイページログイン中はログイン画面へ移行 
    9494            if ($mypage_url_search == 2){ 
    95                 header("Location: /mypage/login.php");// FIXME 
     95                $this->sendRedirect($this->getLocation("/mypage/login.php")); 
    9696            }else{ 
    97                 header("Location: " . $_POST['url']);// FIXME 
     97                $this->sendRedirect($this->getLocation($_POST['url'])); 
    9898            } 
    9999            exit; 
     
    113113    /* パラメータ情報の初期化 */ 
    114114    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")); 
    138118    } 
    139119} 
Note: See TracChangeset for help on using the changeset viewer.