baserCMSでローカル環境でのログインパスワードを忘れてしまった場合の対処方法(追記あり)

baserCMSの開発中に、ローカル環境のbaserCMSにある日突然、管理画面にログインできなくなりました。
(どうも /app/config/install.php を本番環境のに上書きしてしまったらしい…)

Twitterで困った困ったとつぶやいてるとbaserサポーターのナイスガイ達から対処方法を教えてもらったのでメモしておきます。

環境のメモ

  • Mac OS 10.8
  • MySQL 5.5.25 ※PostegreSQLでも大丈夫らしいです(コメント参照
  • baserCMS 2.0.5系

パスワードの再設定手順

1. /app/config/install.php を開いて ‘Security.salt’の値(暗号化された文字列)をコピー

2. Terminalで以下のコマンドを実行

コピーした文字列+希望パスワード(下の例では”passpass”)で暗号化します。

3. 出力結果をコピーしてphpMyAdminなどで該当ユーザーのpasswordとしてDBに保存

phpMyAdminのbaserCMSのユーザー情報
table[‘bc_users’]内の “name”[admin]の”password”の文字列を上書きすればOK。

これで希望のパスワードでログインできるようになったはずです。
ちなみにWordpressではmysqlのMD5という方法で暗号化してるので、phpMyAdmin上のみでパスワード復旧できるようです。
参考サイト: WordPressでパスワードを忘れた時のログイン方法 – ユーザー名やPWがわからなくなった | WP SEOブログ

cakePHPの手法なのか、外部のセキュリティコード?とパスワードで暗号化生成してるので、
その分復旧の手間がかかりますが、こちらの方がセキュリティがいいですよね。

※追記 2015/10/08 上記方法でもログインできない場合への対処方法

・/app/tmp の中身を全て削除
・ブラウザのクッキー、キャッシュを削除

これで再度ログインを試すと無事ログイン成功。

おそらく /app/tmp/sessions のセッションが原因だと思います。

baserCMSでローカル環境でのログインパスワードを忘れてしまった場合の対処方法(追記あり)” への2件のフィードバック

  1. baserCMS(というかCakephp)は、暗号の種類はいくつかあって強度の高くて使えるものから利用しているって感じの実装です。なので、最悪はmd5になります。
    今回Macだろうとおもったので、sha1でtweetしたのですが、最悪ログインできない場合は、他の暗号形式をためしてみる必要があります。
    あと、MySQLだけでなくPostgreSQLでも環境は問題ないです。両方とも暗号化された文字列を保存しているだけなので。(僕の検証はPostgreSQL9.1でおこなってます)
    てな感じでフォロー。

  2. >itm_kiyo さん
    フォローコメント、あざっす!!
    md5は最悪なケースなんですね…
    MySQLもPostegSQLもでも問題ないんですね、勉強になりました!

コメントを残す

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

*