EC-CUBEで管理者のパスワードを忘れてしまい、管理画面にログインできなくなると非常に困りますよね。そんな時に、無理やり管理画面にログインする方法をご紹介したいと思います。
EC-CUBEでパスワードを忘れてしまった時に管理画面にログインする方法
万が一パスワードを忘れてしまったら、「/data/class/pages/admin」配下にあるLC_Page_Admin_Index.phpを編集します。73行目あたりにある「$this->arrErr = $this->lfCheckError($objFormParam);」をコメントアウトしましょう。
public function action() { // パラメーター管理クラス $objFormParam = new SC_FormParam_Ex(); switch ($this->getMode()) { case 'login': //ログイン処理 $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); //$this->arrErr = $this->lfCheckError($objFormParam); if (SC_Utils_Ex::isBlank($this->arrErr)) { $this->lfDoLogin($objFormParam->getValue('login_id')); SC_Response_Ex::sendRedirect(ADMIN_HOME_URLPATH); } else { // ブルートフォースアタック対策 // ログイン失敗時に遅延させる sleep(LOGIN_RETRY_INTERVAL); SC_Utils_Ex::sfDispError(LOGIN_ERROR); } break; default: break; } // 管理者ログインテンプレートフレームの設定 $this->setTemplate(LOGIN_FRAME); }
このように「$this->arrErr = $this->lfCheckError($objFormParam);」をコメントアウトすることで、パスワードのチェックが行われなくなるので、どんなパスワードでもログインできるようになります。
ログイン後は、[システム設定] – [メンバー管理]からパスワードを変更してください。その後、上記のコメントアウトを削除します。
あとがき
覚えておくといざという時に役立つと思います。パスワードを忘れてしまってログインできなくなったら、ぜひお試しください。