Changeset 17118


Ignore:
Timestamp:
2008/03/11 14:58:45 (14 years ago)
Author:
adachi
Message:

共有SSL対応

Location:
branches/version-2
Files:
5 added
9 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2/data/class/helper/SC_Helper_Mobile.php

    r16582 r17118  
    250250        if (basename(dirname($_SERVER['SCRIPT_NAME'])) != 'unsupported') { 
    251251            $this->lfMobileCheckCompatibility(); 
    252             $this->lfMobileInitSession(); 
     252            /** 
     253             * 共有SSL対応のため、SC_SessionFactory_useRequest::initSession()へ移行 
     254             * また、他のセッション関連メソッドもSC_SessionFactory_useRequestのインスタンスから呼び出すこと 
     255             * 
     256             * @see data/class/session/sessionfactory/SC_SessionFactory_useRequest.php 
     257             */ 
     258            // $this->lfMobileInitSession(); 
    253259        } 
    254260 
  • branches/version-2/data/class/pages/LC_Page.php

    r17042 r17118  
    106106     * @param boolean $isMobile モバイル用にセッションIDを付与する場合 true 
    107107     * @return void|boolean $url に SITE_URL 及び, SSL_URL を含まない場合 false, 
    108      *                       正常に遷移可能な場合は, $url の URL へ遷移する. 
     108     *                       正常に遷移可能な場合は, $url の ロケーションヘッダを出力する. 
    109109     * @see Net_URL 
    110110     */ 
     
    118118                $netURL->addRawQueryString($_SERVER['QUERY_STRING']); 
    119119            } 
    120             if ($isMobile) { 
     120 
     121            $session = SC_SessionFactory::getInstance(); 
     122            if ($isMobile || $session->useCookie() == false) { 
    121123                $netURL->addQueryString(session_name(), session_id()); 
    122124            } 
     125 
    123126            $netURL->addQueryString(TRANSACTION_ID_NAME, $this->getToken()); 
    124127            header("Location: " . $netURL->getURL()); 
     128            return; 
    125129        } 
    126130        return false; 
  • branches/version-2/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php

    r16741 r17118  
    9191            if(count($arrErr) == 0) { 
    9292                if($objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true)) { 
    93                     $this->sendRedirect($this->getLocation($_POST['url'])); 
     93                    $this->sendRedirect($this->getLocation($_POST['url'], array(), false)); 
    9494                    exit; 
    9595                } else { 
     
    107107            } else { 
    108108                // 入力エラーの場合、元のアドレスに戻す。 
    109                 $this->sendRedirect($this->getLocation($_POST['url'])); 
     109                $this->sendRedirect($this->getLocation($_POST['url'], array(), false)); 
    110110                exit; 
    111111            } 
     
    117117            //マイページログイン中はログイン画面へ移行 
    118118            if ($mypage_url_search == 2){ 
    119                 $this->sendRedirect($this->getLocation(URL_DIR . "mypage/login.php")); 
     119                $this->sendRedirect($this->getLocation(URL_DIR . "mypage/login.php", array(), false)); 
    120120            }else{ 
    121                 $this->sendRedirect($this->getLocation($_POST['url'])); 
     121                $this->sendRedirect($this->getLocation($_POST['url'], array(), false)); 
    122122            } 
    123123            exit; 
  • branches/version-2/data/class/util/SC_Utils.php

    r16938 r17118  
    956956    } 
    957957 
    958     /* ドメイン間で有効なセッションのスタート */ 
    959     function sfDomainSessionStart() { 
    960         $ret = session_id(); 
    961     /* 
    962         ヘッダーを送信していてもsession_start()が必要なページがあるので 
    963         コメントアウトしておく 
    964         if($ret == "" && !headers_sent()) { 
    965     */ 
    966         if($ret == "") { 
    967             /* セッションパラメータの指定 
    968              ・ブラウザを閉じるまで有効 
    969              ・すべてのパスで有効 
    970              ・同じドメイン間で共有 */ 
    971             session_set_cookie_params (0, "/", DOMAIN_NAME); 
    972  
    973             if(!ini_get("session.auto_start")){ 
    974                 // セッション開始 
    975                 session_start(); 
    976             } 
    977         } 
    978     } 
     958    /** 
     959     * ドメイン間で有効なセッションのスタート 
     960     * 共有SSL対応のための修正により、この関数は廃止します。 
     961     * セッションはrequire.phpを読み込んだ際に開始されます。 
     962     */ 
     963    function sfDomainSessionStart() {} 
    979964 
    980965    /* 文字列に強制的に改行を入れる */ 
     
    19141899        return $str; 
    19151900    } 
    1916      
     1901 
    19171902   /** 
    19181903     * 配列をテーブルタグで出力する。 
    1919      *  
     1904     * 
    19201905     * @return string 
    19211906     */ 
     
    19271912        } 
    19281913        $html.= "</tr>"; 
    1929          
     1914 
    19301915        $cnt = count($array); 
    1931          
     1916 
    19321917        for($i = 0; $i < $cnt; $i++) { 
    1933             $html.= "<tr>";          
     1918            $html.= "<tr>"; 
    19341919            foreach($array[$i] as $val) { 
    19351920                $html.="<td>$val</td>"; 
  • branches/version-2/data/mtb_constants_init.php

    r17057 r17118  
    625625/** モジュール追加用画面 */ 
    626626define('MOBILE_URL_SHOP_MODULE', MOBILE_URL_DIR . "shopping/load_payment_module.php"); 
     627/** セッション維持の方法 */ 
     628define('SESSION_KEEP_METHOD', 'useCookie'); 
     629/** セッションの存続時間 (秒) */ 
     630define('SESSION_LIFETIME', 1800); 
    627631/** オーナーズストアURL */ 
    628632define('OSTORE_URL', "http://store.ec-cube.net/"); 
  • branches/version-2/html/admin/require.php

    r16994 r17118  
    7070require_once($include_dir . "/.." . HTML2DATA_DIR . "module/Mail/mime.php"); 
    7171 
     72// インストールチェック 
     73SC_Utils_Ex::sfInitInstall(); 
     74 
    7275// セッションハンドラ開始 
    7376$objSession = new SC_Helper_Session_Ex(); 
    74  
    75 // インストールチェック 
    76 SC_Utils_Ex::sfInitInstall(); 
     77// セッション初期化・開始 
     78require_once CLASS_PATH . 'session/SC_SessionFactory.php'; 
     79$sessionFactory = SC_SessionFactory::getInstance(); 
     80$sessionFactory->initSession(); 
    7781?> 
  • branches/version-2/html/install/sql/insert_data.sql

    r17046 r17118  
    10471047INSERT INTO mtb_constants VALUES ('MOBILE_URL_SHOP_COMPLETE', 'MOBILE_URL_DIR . "shopping/complete.php"', 416,'購入完了画面'); 
    10481048INSERT INTO mtb_constants VALUES ('MOBILE_URL_SHOP_MODULE', 'MOBILE_URL_DIR . "shopping/load_payment_module.php"', 417,'モジュール追加用画面'); 
     1049INSERT INTO mtb_constants VALUES ('SESSION_KEEP_METHOD', '"useCookie"', 418,'セッション維持方法:useCookie|useRequest'); 
     1050INSERT INTO mtb_constants VALUES ('SESSION_LIFETIME', '"1800"', 419,'セッション維持方法:useCookie|useRequest'); 
    10491051INSERT INTO mtb_constants VALUES ('OSTORE_URL', '"http://store.ec-cube.net/"', 500, 'オーナーズストアURL'); 
    10501052INSERT INTO mtb_constants VALUES ('OSTORE_SSLURL', '"https://store.ec-cube.net/"', 501, 'オーナーズストアURL'); 
  • branches/version-2/html/mobile/require.php

    r16930 r17118  
    8080$objSession = new SC_Helper_Session_Ex(); 
    8181 
     82// セッション初期化・開始 
     83require_once CLASS_PATH . 'session/SC_SessionFactory.php'; 
     84$sessionFactory = SC_SessionFactory::getInstance(); 
     85$sessionFactory->initSession(); 
     86 
    8287// モバイルサイト用の初期処理を実行する。 
    8388if (!defined('SKIP_MOBILE_INIT')) { 
  • branches/version-2/html/require.php

    r17093 r17118  
    9292        $url = MOBILE_SITE_URL; 
    9393    } 
    94      
     94 
    9595    if (preg_match('|^' . URL_DIR . '(.*)$|', $_SERVER['REQUEST_URI'], $matches)) { 
    9696        $path = $matches[1]; 
     
    9898        $path = ''; 
    9999    } 
    100      
     100 
    101101    header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path)); 
    102102    exit; 
    103103} 
    104104 
     105// セッション初期化・開始 
     106require_once CLASS_PATH . 'session/SC_SessionFactory.php'; 
     107$sessionFactory = SC_SessionFactory::getInstance(); 
     108$sessionFactory->initSession(); 
     109 
    105110// 絵文字変換 (除去) フィルターを組み込む。 
    106111ob_start(array('SC_MobileEmoji', 'handler')); 
Note: See TracChangeset for help on using the changeset viewer.