CMS[shop]:Ec-Cubeのパスワード紛失
Ec-Cube:管理者用のId.パスワードを忘れた場合管理者用のパスワードを忘れた場合?管理者のパスワードがNGとなってログインできない時に実行。 ID.Passwordが分かっている場合でのログイン拒否 システムエラーが発生した。
1・ data/config/config.phpのAUTH_MAGICの値が、元の環境と同じかどうかをチェック define ('HTTP_URL', 'http://localhost/~cms/EcCube/'); :設置アドレスになっているか? define ('HTTPS_URL', 'http://localhost/~cms/EcCube/'); もし設置アドレスになっていなければ修正すればOk 2.ID.Passwordを忘れた。 ・ログインID.はphpMyAdmin データベース,dtb_memberで見れます。 ・data/class/util/SC_Utils.php の修正。function sfIsMatchHashPasswordの戻り値をtrueとする。 ・adminにIDと適当なパスワードでログインする。戻り値をtrueにしたからログイン可能?。 ・管理画面:システム設定ーメンバー管理ー編集で新しいId.パスワードを保存する。 ・SC_Utils.php のfunction sfIsMatchHashPasswordを完了したらfalseに戻す。 ・adminに新しいパスワードでログインする。 2045行付近 falseをtrueに /** * パスワード文字列のハッシュ一致判定 * * @param string $pass 確認したいパスワード文字列 * @param string $hashpass 確認したいパスワードハッシュ文字列 * @param string $salt salt * @return boolean 一致判定 */ function sfIsMatchHashPassword($pass, $hashpass, $salt) { $res = false; if ($hashpass != '') { if (AUTH_TYPE == 'PLAIN') { if($pass === $hashpass) { $res = true; } } else { if (empty($salt)) { // 旧バージョン(2.11未満)からの移行を考慮 $hash = sha1($pass . ":" . AUTH_MAGIC); } else { $hash = SC_Utils_Ex::sfGetHashString($pass, $salt); } if($hash === $hashpass) { $res = true; } } } return $res; } |