WordPressのユーザー名ってバレバレ?【表示されないようにセキュリティ対策しよう】

WordPress でブログを運営している人は多いと思うんですけど、ちゃんとセキュリティのことを考えて「ユーザー名」と「ニックネーム」は別にしていますよね?

「ユーザー名」がバレれないように「ニックネーム」を変更したから、僕は安心だな。

くま五郎

りょう

いや、変更しても簡単に「ユーザー名」はバレるからね。

ということで、WordPressで「ユーザー名」が表示されないようにするセキュリティの方法を解説します

「ユーザー名」は簡単に分かるんです

よく WordPress の入門的な記事で、

「ユーザー名」と「ニックネーム」が一緒だとセキュリティ上で問題がある

というのですが、「ニックネーム」を変えただけではセキュリティ的に問題は解決していません

この話を聞いたのが初めてという人は、下記を自分のブログの URL 後ろにコピペしてください。

URL
/?author=1

このブログを例にすると、

URL
https://bryog.com/?author=1

という状態ですね。

そして、Enter を押すと…

URL
/author/ユーザー名/

上記のように自分のユーザー名が表示されてませんか?

えっ!? なんで???

くま五郎

りょう

/?author=1 と URL に追加すると、/author/ユーザー名/ で返すようになってるんだ。

そのため、何も対策をしていなければ「ニックネーム」を変えても「ユーザー名」は簡単に調べることができちゃいます。

複数のメンバーでブログを運営している場合

複数のメンバーがユーザーとして登録されている場合は、数字の部分を増やしていけば同じように「ユーザー名」が表示されてしまいます。

URL
/?author=数字

例えば、2人目に登録さえているユーザーがいれば、/?author=2 と入力して Enter を押すと2人目の「ユーザー名」が表示されます。

ユーザー名を表示させないようにする方法

ユーザー名を表示させないようにする方法は、主にプラグインを使う方法と PHP を少しイジる方法の2通りあります。

自分のスキルによって、選んでくださいね。

プラグインを使って非表示にする方法

プラグインにも2通りあって、ユーザー名を見せないタイプと別の名前にすり替えて表示するタイプがあります。

All In One WP Security

WordPress ユーザー名

セキュリティ全般の対策をしてくれるプラグイン「All In One WP Security」では、ユーザー名を確認するページを表示させないようにすることができます

設定も簡単で、メニューから「Miscellaneous」に入り、「Users Enumeration」にチェックを入れれば完了となります。

Edit Author Slug

WordPress ユーザー名

ユーザー名を別の名前にすり替えることができるプラグイン「Edit Author Slug」は、自分の好きな名前に変更が可能です

有効にすると、ユーザーの編集画面の一番下に「Edit Author Slug」という項目が追加されるので、自動で生成されたユーザー名を選択するか、もしくは「カスタム設定」で自分の好きな名前を付けることができます。

PHP をイジって 404 にリダイレクトする方法

PHP を少しイジって、そのページは存在しません(404エラー)を表示させる方法もあります。

イジると言っても、下記のコードを function.php にコピペするだけで OK です。

PHP
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/404.php' ) );
exit;
}
}
add_action('init', 'disable_author_archive');

実際に /?author=1 で確認してみると分かりますが、404 のページが表示されるはずです。

りょう

PHP に慣れていない人は、ちゃんとバックアップをとって作業をしてくださいね。

複数のユーザーで運営したり、コメントを使っている場合

複数のユーザーがブログを運営していたり、コメント欄を活用されている人もいますよね。

その場合は、「投稿者」などを選択すると「ユーザー名」がどうしても表示されてしまいます

また、このブログでもそうですが、記事の最後などに運営者紹介などのカードの名前をクリックすると、これも「ユーザー名」が表示されてしまいます。

でも、紹介のカードは表示させたいんだけど…

くま五郎

りょう

そんな時は、ユーザーをもう1人増やしちゃおう。

自分1人が運営しているブログだとしても、「管理者」権限のユーザーでは記事を投稿せず、投稿専用のユーザーをもう1つ作って記事を投稿するという方法です。

「管理者」で記事を作成したとしても、公開時に「投稿者」を切り替えることができるので、特に不自由することはないと思います。

こうすれば、もし投稿専用ユーザーの PW がバレてしまったとしても、権限が低いユーザーなので何もすることができません。

さいごに

セキュリティ対策のことを考えると他にもやらなきゃいけないところもあるんですが、「ユーザー名」が知られてしまうと、あとは PW だけ何とかしてしまえば入られちゃいますからね。

できることはやって、対策をしておきましょう。