Labo

[EC-CUBE 2.11.4] 管理者パスワードを忘れた時に管理画面にログインする方法

2012年01月21日 / 投稿者名:fukap


最近、こういう機会がちょうどありました。
忘れたのではなく、他の人がパスワードを変えてしまったからだったのですが・・・。(どうりで入れないわけだ)
以下の方法を使って強制ログインし、パスワードを再設定して難を逃れました。

 

data/class/pages/admin/LC_Page_Admin_Index.php の $this->arrErr… を以下のようにコメントアウト

1function action() {
2    // パラメーター管理クラス
3    $objFormParam = new SC_FormParam_Ex();
4 
5    switch ($this->getMode()) {
6    case 'login':
7        //ログイン処理
8        $this->lfInitParam($objFormParam);
9        $objFormParam->setParam($_POST);
10        //$this->arrErr = $this->lfCheckError($objFormParam);
11        if (SC_Utils_Ex::isBlank($this->arrErr)) {
12            $this->lfDoLogin($objFormParam->getValue('login_id'));
13            SC_Response_Ex::sendRedirect(ADMIN_HOME_URLPATH);
14        }else{
15            SC_Utils_Ex::sfDispError(LOGIN_ERROR);
16        }
17        break;
18    default:
19        break;
20    }
21 
22    // 管理者ログインテンプレートフレームの設定
23    $this->setTemplate(LOGIN_FRAME);
24}

管理者パスワードをチェックする lfCheckError関数を飛ばしてしまうため、どんなパスワードでもログインできるようになります。
また、管理者IDのチェックも同時に行っているため、管理者IDを忘れてしまった場合も同様にログインできます。

 

ただし、ログイン後は速やかにパスワードを再設定し、変更ファイルを元の状態に戻すこと!

 

ログインできたと気を緩めずに元に戻して、パスワードチェックが有効になっているのを確認してから、次の作業に移ってください。
(安全を期するなら、httpd.conf や .htaccess でIP制限やBASIC認証してからの方がよいと思う。)

[EC-CUBE 2.11.4] 管理者パスワードを忘れた時に管理画面にログインする方法 への1件のコメント

  1. ピンバック: EC-CUBE NEWS | EC-CUBEに関するニュースやブログの最新情報をお届けします

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*

コメント欄にコードを挿入したい場合は、[php][/php] を使ってください。