パスワードを忘れた場合にパスワードなしで管理画面にアクセスする方法を以前ご紹介しましたが、今回はデータベースに保存されている暗号化されたパスワードでログインする方法をご紹介します。
なお、auth_typeを変更している間はショップの会員がログインできなくなったりパスワードがプレーンで保存されてしまいます。本番環境では使用しないでください。もし使用する場合はメンテナンス中にして管理画面以外アクセスできないようにするなどの対策が必要です。
まず、phpMyAdminなどを利用してdtb_memberテーブルに保存されている暗号化されたパスワードを確認します。(※添付画像は適当に入力したダミーです。)
EC-CUBE3の場合
app/config/eccube/config.ymlに「auth_type : PLAIN」と1行追記します。
これでデータベースに登録されている暗号化されたままのパスワードを用いてログインができるようにできます。
あとはログイン後に「auth_type : PLAIN」を削除し、管理画面でパスワードを再設定すればOKです。
作業後は再設定をしたパスワードでログインが可能となっています。
パスワードを忘れた時やうっかりauth_magicを変更してしまって管理画面へログインできなくなった時に有効です。
EC-CUBE4の場合
app/config/eccube/packages/eccube.yamlにeccube_auth_typeという項目があり、HMACという値が記載されています。これをPLAINに変更することでデータベースに登録されている暗号化されたままのパスワードでログインすることが可能です。
それでもログインできない・・
管理画面のパスワードのフォームにはmaxlength=50の属性がついています。そのため50文字までしかペーストできず、パスワードが途中で切れてしまっている可能性があります。
ブラウザのDeveloper toolで一時的にmaxlengthの値を変更すれば50文字以上を入力可能です。
app/config/eccube/packages/eccube.yamlのeccube_password_max_lenの値を50から変更することでも可能です。
ログインした後どうするか?
一度ログインするとauth_typeをPLAINにしなくても管理画面での移動が可能です。暗号化の設定をPLAINから元に戻し、メンバー管理で別のパスワードを変更・保存しましょう。
これで再設定したパスワードでログインできるようになっているはずです。
ハッキングではないか?
最近「管理画面に急にログインできなくなった」というお問い合わせを頻繁にいただいています。
心配なのは、急に管理画面にログインできなくなった場合、サイトのハッキングや改ざんを受けた可能性がある ということです。
情報漏洩などの被害を出さないためには早急に対応が必要になりますので、必ずすぐにご相談ください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。