3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WordPress wp-admin ログイン失敗時のメッセージを変更する

Posted at

wp-adminにログイン失敗時のメッセージを見ると、ユーザーが存在するかどうかがわかってしまうメッセージになってます。

  • パスワードが間違っている場合
    エラー:ユーザー名 hogehoge のパスワードが間違っています。

  • ユーザー名が存在しない場合
    エラー:ユーザー名が無効です。

これは、「安全なウェブサイトの作り方」にある2.5 (3)入力後の応答メッセージが認証情報の推測のヒントとならない工夫をするに沿っていません。そこで、メッセージを変更してみました。

function.php
function change_login_error_message( $error_message ){

        $changed_message = "<strong>エラー</strong>: ログインできません";

        if ( preg_match("/ユーザー名が無効です。| のパスワードが間違っています/", $error_message ) ){
                $error_message =  $changed_message ;
        }

        return $error_message ;

}
add_filter('login_errors', 'change_login_error_message');

login_errorsフィルタを使って変更しています。正規表現で該当のメッセージのみ変更し、それ以外はそのまま表示しています。

ただし、パスワードリマインダーでも、ユーザー名が存在しているかどうかわかってしまうので、こちらの処理も変更しないといけないようです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?