完全に自分への備忘録ですが、WPでログインのパスワードを忘れてしまった時の対処法です。
通常ならWPをセットアップするときにメールアドレスを登録するので、忘れてしまった場合はパスワードリセット用のURLをメールに送信させることができます。
しかし、XAMPPやMAMPを使いローカルでWP開発している時はメールが飛ばないので(苦笑)、ローカルのmySQLの中のパスワードを直接書き換えます!(環境によってはphpMyAdminのIDパスワードが必要になります)
※以下はローカル時のことを書いてますが、基本サーバー上のものもやり方は同じです。
セキュリティや公式の情報も最後の方に触れていますので一読ください。
1.phpMyAdminにログインする
XAMPPなら、http://localhost/phpmyadmin/
MAMPなら、(設定していない場合)http://localhost:8888/phpMyAdmin/ などがログインURLになります。
MAMPで設定済みの私の場合は、http://localhost/MAMP/phpmyadmin.php?lang=ja-utf-8 でした。
(MAMPのスタートページにリンクがあります)
2.WorsPressで使っているDBをひらく
左側に表示されているのがDBです。
最初にWPを設定したときに自分で決めたDBの名前で表示されているかと思います。
それをクリックします。
3.WPのアカウントがあるテーブルをひらく
wp_usersというのが、アカウント情報が入っているテーブルになります。
これの『編集』をクリック。
4.パスワードをリセットしたいアカウントを選ぶ
表示されたリストがアカウントの一覧になります。
パスワードをリセットしたいアカウントの『編集』をクリック。
5.パスワードのリセットをする
まず、DB上に入っているパスワードは、分からないように暗号化処理(ハッシュ)されて登録されています。なので、ここで再登録するものも暗号化処理する必要があります。
MD5というのは暗号化する関数なのでこれを選択し、値フィールドに新しいパスワード(半角英数字のみ)を入力します。
最後に下部の実行ボタンをクリック。
以上でパスワードの再登録が完了!
意外に簡単ですよね?
でも注意!!
phpのマニュアルでは、パスワードの暗号化にMD5は推奨されていません。。。
MD5 や SHA1 そして SHA256 といったハッシュアルゴリズムは、 高速かつ効率的なハッシュ処理のために設計されたものです。 最近のテクノロジーやハードウェア性能をもってすれば、 これらのアルゴリズムの出力をブルートフォースで(力ずくで)調べて元の入力を得るのはたやすいことです。
最近のコンピュータではハッシュアルゴリズムを高速に「逆算」できるので、 セキュリティ技術者の多くはこれらの関数をパスワードのハッシュに使わないよう強く推奨しています。
phpのマニュアルでは上記のようにありますが、phpmyadminで関数を見てみると、phpマニュアルで非推奨されている関数しか選択することができません。
尚且つ、WordPress Codexでは MD5 を使う方法で掲載されています。
ではどうすれば良いのか?
アカウント名は推測しにくいものに、パスワードも英数字織り交ぜて!
結局こういうことになります。
12月のWordBenchでも、KDDIウェブコミュニケーションズの方が『WPのアカウント名にadminは使わないように!』って今更に感じるようなことを言っていたけど、結局それが一番の防御なのかもしれません。
ローカルだけならまだ安心な気もしますが、サーバー上のDB触る場合は色々ご注意ください。
ご自身の責任の元で!ご利用は計画的に!(違