<--- 追記 '12.05.23
マスタログイン 会員制
2_11-devへの適用例:
http://www.kudzilla.com/~hic/eccube-dev/2_11-dev/1-master_login.pdfID/PWD : hic/Ringo
--->
引用:
MyPageのソースにて試されたという事ですが、この場合だとトランザクショントークン部分のコメントアウトがなく、安全だということでしょうか。
・現状より「安全性が低下しない」と理解してます。
・コードを添付しますので、検討してみてください。
・対象はECCUBE2.4.3です。comu版と差が有る場合は、適時、修正してください。
'10.05.17 追記
・$this->sendRedirect($this->getLocation("login/login.php"));
では『eccube/data/install.php』の「SITE_URL」にRedirectします。
・「SITE_URL」には"https://..."を設定してください。
↓「SSL_URL」に遷移させる方法の調査結果を反映。
$this->sendRedirect($this->getLocation("login/login.php"
, array(), true));
'10.08.02 修正
「_Login_」の「_
Login_」(強調)漏れ2箇所
<ファイル構成>
1.マスタログイン→MYページ改(login)への強制遷移→ログイン→TOPページ。
1)『eccube/data/class/pages/login/』
a)LC_Page_Login_Login.php (元:mypage/LC_Page_Mypage_Login.php)
b)LC_Page_Login_LoginCheck.php (元:mypage/LC_Page_Mypage_LoginCheck.php)
2)『eccube/data/class_extends/page_extends/login/』
a)LC_Page_Login_Login_Ex.phpphp (元:mypage/LC_Page_Mypage_Login_Ex.php)
b)LC_Page_Login_LoginCheck_Ex.php (元:mypage/LC_Page_Mypage_LoginCheck_Ex.php)
3)『eccube/data/class_extends/page_extends/』
a)LC_Page_Index_Ex.php (マスタログイン化の先頭処理)
4)『eccube/html/login/』
a)index.php (元:html/index.php)
b)login_check.php (元:mypage/login_check.php)
c)login.php (元:mypage/login.php)
2.「商品一覧」「商品詳細」に「ログインチェック」を入れる。
1)『eccube/data/class_extends/page_extends/products/』
a)LC_Page_Products_List_Ex.php (「商品一覧」)
b)LC_Page_Products_Detail_Ex.php (「商品詳細」)
3.ヘッダの中の[会員登録],[カゴの中を見る]を無くす。(好みで。)
1)『eccube/data/Smarty/templates/default/』
a)header.tpl
1.マスタログイン→MYページ改(login)への強制遷移→ログイン→TOPページ。
1)『eccube/data/class/pages/login/』
a)LC_Page_Login_Login.php (元:mypage/LC_Page_Mypage_Login.php)
/**
 * マスタログイン のページクラス.
 *
 * @package Page
 * @author LOCKON CO.,LTD.
 * @version $Id: LC_Page_Mypage_Login.php 17653 2008-10-23 02:03:49Z takegami $
 */
class LC_Page_Login_Login extends LC_Page {
    /**
     * Page を初期化する.
     *
     * @return void
     */
    function init() {
        parent::init();
        $this->tpl_mainpage = TEMPLATE_DIR . 'mypage/login.tpl';
        $this->tpl_title = 'ログイン';
        $this->tpl_column_num = 1;
        $this->httpCacheControl('nocache');
    }
b)LC_Page_Login_LoginCheck.php (元:mypage/LC_Page_Mypage_LoginCheck.php)
/**
 * マスタログインチェック のページクラス.
 *
 * TODO frontparts/LC_Page_Frontparts_LoginCheck と抽象化させる
 * FIXME ロジック見なおし...
 *
 * @package Page
 * @author LOCKON CO.,LTD.
 * @version $Id: LC_Page_Mypage_LoginCheck.php 17771 2009-02-13 12:59:21Z zeniya $
 */
class LC_Page_Login_LoginCheck extends LC_Page {
2)『eccube/data/class_extends/page_extends/login/』
a)LC_Page_Login_Login_Ex.phpphp (元:mypage/LC_Page_Mypage_Login_Ex.php)
// {{{ requires
require_once(CLASS_PATH . "pages/login/LC_Page_Login_Login.php");
/**
 * マスタログイン のページクラス(拡張).
 *
 * LC_Page_Login_Login をカスタマイズする場合はこのクラスを編集する.
 *
 * @package Page
 * @author LOCKON CO.,LTD.
 * @version $Id: LC_Page_Mypage_Login_Ex.php 16582 2007-10-29 03:06:29Z nanasess $
 */
class LC_Page_Login_Login_Ex extends LC_Page_Login_Login {
b)LC_Page_Login_LoginCheck_Ex.php (元:mypage/LC_Page_Mypage_LoginCheck_Ex.php)
// {{{ requires
require_once(CLASS_PATH . "pages/login/LC_Page_Login_LoginCheck.php");
/**
 * マスタログインチェック のページクラス(拡張).
 *
 * LC_Page_Login_LoginCheck をカスタマイズする場合はこのクラスを編集する.
 *
 * @package Page
 * @author LOCKON CO.,LTD.
 * @version $Id: LC_Page_Mypage_LoginCheck_Ex.php 16582 2007-10-29 03:06:29Z nanasess $
 */
class LC_Page_Login_LoginCheck_Ex extends LC_Page_Login_LoginCheck {
3)『eccube/data/class_extends/page_extends/』
a)LC_Page_Index_Ex.php (マスタログイン化の先頭処理)
    /**
     * Page を初期化する.
     *
     * @return void
     */
    function init() {
        // & hideki-s '10.04.28
        // ログイン判定
$objCustomer = new SC_Customer();
$this->tpl_login = $objCustomer->isLoginSuccess();
        if (!$this->tpl_login){
        $this->sendRedirect($this->getLocation("login/login.php", array(), true));
        }
        // hideki-s & '10.04.28
        parent::init();
    }
4)『eccube/html/login/』
a)index.php (元:html/index.php)
// {{{ requires
require_once("../require.php");
require_once(CLASS_EX_PATH . "page_extends/LC_Page_Index_Ex.php");
b)login_check.php (元:mypage/login_check.php)
// {{{ requires
require_once("../require.php");
require_once(CLASS_EX_PATH . "page_extends/login/LC_Page_Login_LoginCheck_Ex.php");
// }}}
// {{{ generate page
$objPage = new LC_Page_Login_LoginCheck_Ex();
c)login.php (元:mypage/login.php)
// {{{ requires
require_once("../require.php");
require_once(CLASS_EX_PATH . "page_extends/login/LC_Page_Login_Login_Ex.php");
// }}}
// {{{ generate page
$objPage = new LC_Page_Login_Login_Ex();
2.「商品一覧」「商品詳細」に「ログインチェック」を入れる。
1)『eccube/data/class_extends/page_extends/products/』
a)LC_Page_Products_List_Ex.php (「商品一覧」)
b)LC_Page_Products_Detail_Ex.php (「商品詳細」)
    /**
     * Page を初期化する.
     *
     * @return void
     */
    function init() {
        // & hideki-s '10.04.28
        // ログイン判定
$objCustomer = new SC_Customer();
$this->tpl_login = $objCustomer->isLoginSuccess();
        if (!$this->tpl_login){
        $this->sendRedirect($this->getLocation("login/login.php", array(), true));
        }
        // hideki-s & '10.04.28
        parent::init();
    }
3.ヘッダの中の[会員登録],[カゴの中を見る]を無くす。(好みで。)
1)『eccube/data/Smarty/templates/default/』
a)header.tpl
↓を削除
      <li>
        <a href="<!--{$smarty.const.URL_DIR}-->entry/kiyaku.php"
           onmouseover="chgImg('<!--{$TPL_DIR}-->img/header/member_on.gif','member');"
           onmouseout="chgImg('<!--{$TPL_DIR}-->img/header/member.gif','member');">
          <img src="<!--{$TPL_DIR}-->img/header/member.gif" width="95" height="20" alt="会u21729 登u-27854 " name="member" id="member" /></a>
      </li>
      <li>
        <a href="<!--{$smarty.const.URL_DIR}-->cart/index.php"
           onmouseover="chgImg('<!--{$TPL_DIR}-->img/header/cartin_on.gif','cartin');"
           onmouseout="chgImg('<!--{$TPL_DIR}-->img/header/cartin.gif','cartin');">
          <img src="<!--{$TPL_DIR}-->img/header/cartin.gif" width="95" height="20" alt="カu12468 のu20013 をu-30325 る name="cartin" id="cartin" /></a>
      </li>