EC-CUBEのユーザ名、パスワードを忘れた場合の対処

2010/04/29 19:13

phpでECサイトを構築する際によく使われているEC-CUBEで、ユーザ名、パスワードを忘れた場合の再設定方法を説明致します。

※ データベースの値をphpMyAdmin等外部からいじれる事が前提
※ 簡単なphpプログラムが書ける、実行環境がある前提

まずはデータベースを開きましょう。接続文字列、認証情報は/eccube/data/install.phpに書いてあります。

define ('DB_USER', '~~~~~~');
define ('DB_PASSWORD', '~~~~~~');
define ('DB_SERVER', '~~~~~~');
define ('DB_NAME', '~~~~~~');

ユーザ情報はdtb_memberテーブルに入っています。ユーザ名はlogin_id、パスワードはpasswordのカラムです。

ユーザ名はそのままで使用すればOK。

ん、パスワードは見慣れない数字とアルファベットの羅列ですね。これは暗号化という奴です。あなたが指定したパスワードは暗号化されてDBに入っているということです。

※ これは常識です。もしもあなたがユーザ認証を使用するタイプのアプリケーションを何かしら利用した際にパスワードが平文のままDBに入っていたら、即そんなものを使うのはやめましょう。開発者が稚拙か、単なる面倒くさがりや、もしくは悪用しようと企んでいる人です。

さて、話がそれましたが、上記から、パスワードはそのままでは使えませんのでDBのデータを更新しましょう。

更新内容ですが、まずはあなたが新しくパスワードに選ぶ文字列をsha1で暗号化する必要があります。

eccube/data/mtb_constants_init.phpを開き、

/** 認証用 magic */
define('AUTH_MAGIC', "~~~~~~~~~~~(以降※1)");

となっている箇所を見つけてください。※1は数字とアルファベットの羅列。

phpで以下を実行。

echo sha1("新規アルファベット用文字列" . ":" . "※1");

出力された数字とアルファベットの羅列をdtb_member.passwordにセット。

以上で再びログイン!!

コメントを書く




biuquote
  • コメント
  • プレビュー
Loading