何もしてない人のWordPressのユーザー名って、一発でわかるんですよねえ……
WordPressのユーザー名(ログインID)は、複雑なものに設定したと思います。
しかしこのユーザー名、なにも対策していないと一発でバレるので、これへの対策を紹介します。
- WordPressのユーザー名がばれる理由
- ユーザー名の変更の仕方&ログインIDを隠す方法
ブログはアクセス数が増えていくと、じつは不正ログインなどの攻撃を受けるようになります
ユーザー名(ログインID)とパスワードをわかりにくいものに設定するのは、そのためが大きいです。
ところが、なんとWordPressインストール後の初期状態では、ユーザー名がバレバレになってしまっているんですよね。
不正ログインによる被害はじっさいに報告もされているぞ
しかしこのユーザー名がばれる問題にも対策方法があります。
早い段階でやっておくに越したことはないので、この記事では、ユーザー名を変更して隠すやり方を紹介していきます。
ミナト
ブログ歴7年目の兼業ブロガー。月間PVは最高11万、ブログ収益は月20万円を達成。ブログで夢を叶えるのを目標に日々まい進中。ひとりでも多くの「うだつの上がらない生活から抜け出したい」と思う方のお役に立ちたいと思っています。>> プロフィール詳細はこちら
WordPressのユーザー名は一発でばれる
はじめに、WordPressのユーザー名がなぜバレるのかを説明します。
あれだけ解読不可能なユーザー名にしたのに、それが一発で? そんなばかな!
と、思われるかもしれません。
しかしこれは仕様のようなもので、初期状態ではユーザー名は一発でバレます。
ブログURLに特定の文字列を加えて検索をかけると、管理者名が表示されるページに飛ぶようになっているからです。
その特定の文字列というのは、以下の2つだ
- ?author=1
- wp-json/wp/v2/users(または「?rest_route=/wp/v2/users」)
(※これをブログURLの末尾につけて検索すると、ユーザー名がでてきます)
見てもらったほうが早いと思うので、じっさいにやってみます
まずはブログURLの末尾に「?author=1」と入力した場合です。
オーサーワンを入れてエンターキーを押すと、以下のように表示されます。
テーマにもよりますが、「投稿者」としてユーザー名(ログインID)が表示されます。
検索窓のURLにも「https://rabbit.com/author/〇〇〇/」と、ユーザー名が表示されているはずです。
「wp-json/wp/v2/users」のほうも見てみよう
いくつか伏せさせてもらっていますが、この画面でもユーザー名は表示されています。
このように、なにも対策をしていないと、WordPressのユーザー名が外部に漏れてしまう危険性があるのです。
まずはブログのニックネームから変更しよう
ここまでのとおり、WordPressのユーザー名は初期状態ではバレます。
不正ログインなどの被害にあわないためにも、対策はしておく必要があるでしょう。
ただ、焦る必要はないので、そこは安心してください
ブログを開設したばかりなら攻撃はまだ受けません。
これから見ていく方法で、管理者情報を変更したり隠したりできるので、いっしょに作業していきましょう。
手始めに、ブログの「ニックネーム」から変更していきます。
WordPressでユーザー名(表示名)を変える手順
じつはオーサーワンとかその前の話で、ブログのユーザー名がばれる要因があります。
「ニックネーム」といって、WordPressではブログで使う名前を設定できるんだが……、
初期状態では、このニックネームがログインID(ユーザー名)になっています。
それによって、いろんなところにユーザー名が表示されるようになってしまっているのです。
たとえば最初に見てきた「投稿者」の名前だったり、つぎの管理画面右上だったり、
- 記事を書いた人の名前
- 〇〇さんをフォローする、といったところの名前
- コメントの返信で表示される名前
などです。
このニックネームをそのままにしておくのはマズいので、以下の手順を見ながら変更してみてください。
ニックネームの変更手順
WordPressの管理画面の左側に「ユーザー」という設定項目があります。
マウスカーソルを置くと「プロフィール」の項目がでてくるので、これを押してください。
プロフィール設定の画面に進んだら、そのまま下に画面をスクロールしていきます。
真ん中あたりまで進むと、ユーザー名が3か所に入力されている「名前」の項目がでてきます。
赤枠で囲った2つを変更してください。
- ニックネーム(必須)
- ブログ上の表示名
ブログのいろんなところでユーザー名が表示されるのは、ここでログインIDが設定されているからです
すでに入力されているユーザー名を、新しいものに設定しなおしてあげればOKです。
やり方は以下のとおりで、
ニックネーム(必須)にブログで使う名前(HN)を入力すれば、ブログ上の表示名の欄にその名前がでてきます。
そうしたらそのHNを選ぶだけです。
なお「メール(必須)」は、最初から入力されているままにしておきます。
その下の「サイト」は、入力されているURLが「http」になっていたら、「https」に変更しておいてください。
ちなみに「サイト」は空欄にしておいても問題はありません。連絡先情報のサイトURLは消してしまっても大丈夫です。
ここまでができたら、最後に画面下の「プロフィールを更新」を押します。
こうすることで、ブログで表示される名前はすべて、ユーザー名からHN(ハンドルネーム)に変わりますよ。
プロフィールの変更が反映されないときは(押すと開きます)
おかしいぞ。プロフィールを更新したのに反映されないんだが?
ということがあります。
こういった変更時の未反映は、たいては「キャッシュ」に原因があります。
キャッシュというのは、ページの情報を一時的に保存する仕組みのことです。
ですからプロフィールの変更が反映されないときは、キャッシュを削除してみてください。
キャッシュを削除する方法はおもに以下の2つです。
- ブラウザの設定から閲覧履歴を削除する
- キャッシュ系プラグインが保存しているキャッシュを削除する
LiteSpeed Cacheというプラグインが最初から入っている場合、「すべてをパージする」を押せばOKです。
WordPressのユーザー名を隠す方法
プロフィール設定からブログの表示名を変更すれば、ユーザー名はブログでは表示されなくなります。
ただ「?author=1」とかは、ニックネームの変更だけでは対策できません
検索窓に表示されるURLや、「wp-json/wp/v2/users」で見られるページでは、まだユーザー名は確認できてしまいます。
じゃあどうすればユーザー名は隠せるんだ?
というと、ほかの方法を使うことで、WordPressのユーザー名は隠せます。
ここでは以下の3つを紹介するので、
- プラグインを使う方法【オススメ】
- 「.htaccess」を編集する方法(「?author=1」対策)
- 「function.php」を編集する方法(「wp-json/wp/v2/users」対策)
好きな方法でユーザー名問題への対策を完了させてください。
ちなみにおすすめなのは、「①プラグインを使う方法」です
プラグインというアプリのようなものを使えば、設定はその1回だけで完了します。
プラグインなしの場合、まあまあ難易度が高い②と③を両方しないといけなくなってしまいます。
ですからおすすめなのは、最初の「プラグインを使う方法」です。
いちおうやり方は紹介しますが、いきなりむずかしいことをする必要はないので、簡単な方法でやってしまうのがいいですよ。
1. プラグインを使う方法【オススメ】
まずはおすすめのプラグインを使う方法です。
WordPressのプラグインとは、便利な機能を簡単に追加できる「拡張機能」のことをいいます。
スマホでいうところの「アプリ」のようなものだな
プラグインは目的に応じて、かなり多くのものが無料で用意されています。
ユーザー名を隠すのには「Edit Author Slug」というプラグインが便利なので、これを使ってみましょう。
以下の手順を参考に、設定を進めてみてください。
Edit Author Slugの導入手順
WordPressのプラグインは、基本ダッシュボードからすべての設定ができます。
左側のメニュー「プラグイン」から「新規追加」を押してください。
画面の右上に検索窓があります。
ここに使いたいプラグインの名前を入力しましょう。
今回は「edit author slug」と入力します(プラグイン名の一部でも可)。
Edit Author Slugを検索結果から見つけたら、「今すぐインストール」を押してください。
インストールができるとボタンが「有効化」に変わります。
プラグインは有効化しないと使えないので、このボタンを押しましょう。
プラグインのインストールと有効化はこれでOKです。
インストールしたプラグインの確認方法(押すと開きます)
ちなみにインストールしたプラグインは、以下の項目から確認できます。
「インストール済みプラグイン」の画面で、プラグインを有効化・無効化したり、削除したりもできます。
設定もこの画面からできますが、Edit Author Slugはプラグインの設定は必要ないので、このままで大丈夫です。
プラグインを有効化できたら、再度「ユーザー → プロフィール」へと進みます。
さきほどはなかった「Edit Author Slug」の設定項目がページの最後に追加されていて、
- ユーザー名
- ニックネーム
- 数字の1
- 英数字の文字列
- カスタム設定【←これを選ぶ】
と、上から順番にならんでいるのではないかと思います。
そしてここで「カスタム設定」を選択し、入力欄に好きな文字列(英数字)を入れてください
たとえばHNがタロウなら、入力欄に「taro」と入れます。
これで「プロフィールを更新」すれば、URLで表示されるユーザー名は「taro」に変わります。
ようはバレてしまうユーザー名は、カスタム設定で入力したものに変えられるわけですね。
カスタム設定にあらかじめユーザー名(ログインID)が入力されていたら、必ずべつのものに変更するようにしてください。
Edit Author Slugでユーザー名を変更すれば、以下の両方で、ほんとうのユーザー名は表示されなくなります。
- ?author=1
- wp-json/wp/v2/users
(※オーサーワンではEdit Author Slugで設定した文字列が表示され、「wp-json…」では、ブログの表示名に設定した名前〔ニックネーム〕が、ユニコードという6桁の番号で表示されます)
この1回の設定でユーザー名がバレる問題は対策できます。
カスタム設定で入力するのは、ブログで使うニックネームなど、ログインIDではないものにしておけばOKです。
プラグインはここで削除してしまってもいいかも(押すと開きます)
またこれは余談ですが、ユーザー名を隠したこのタイミングで、Edit Author Slugは削除してしまっても大丈夫そうです
というのも、1回設定しておけば、プラグインを消してもユーザー名を隠す設定は生きているから。
プラグインは、入れれば入れるだけサイトが重くなりやすくなるものです。
不要なものは消してしまったほうがいいので、もう必要ないなら、ここで消してしまってもいいのではないかと思います。
もっとも、ブログ開設初期の段階なら重いもなにもないので、そのままにしておいても大丈夫です。
プラグインを整理したくなったときは、いちど設定したなら、Edit Author Slugは消してしまってもよさそうですよ。
プラグインは無効化したあとに削除できるようになっているぞ
2.「.htaccess」を編集する方法(「?author=1」対策)
つぎは「.htaccess」といって、簡単にいうと通信のルールを決めるファイルをいじる方法です。
プラグインを使わなくても対策できるやり方だな
この方法では、「?author=1」でバレるURLのユーザー名を隠すことができます。
オーサーワンで問題なのは、検索をかけると、管理者ページのURLが表示されてしまうことです
しかしじつをいうと、
「?author=1」が入力される → ブログのトップページに飛ぶ
というように設定できる方法があります。
検索窓に「https://rabbit.com/?author=1」と入力されても、「https://rabbit.com」に飛ぶので、ユーザー名自体が表示されなくなるわけです。
この方法は、通信ルールを決められる「.htaccess」に、以下のコードを書き込むだけでできます。
<ifmodule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* https://〇〇〇〇.com/? [L,R=302]
</ifmodule>
設定はレンタルサーバーの「FTPソフト」からおこないます。
「https://〇〇〇〇.com」の〇〇〇〇部分を変更し(「.com」以外であればそれも)、あとは以下のようにすればOKです。
すでに書かれている記述の上に1行空けて、さきほどのコードをコピペします。
これで「オーサーワンが使われたらトップページに飛ばす」というルールができました。
ためしに「?author=1」を入れてみれば、ブログのトップにいくのが確認できるだろう
「?author=1」で見られるユーザー名は、この方法を使えばプラグインなしでできます。
「.htaccess」の使い方は、リダイレクト設定のところで解説してあるので、わからなかったらそちらから確認してください。
リダイレクト設定の解説
3. 「function.php」を編集する方法(「wp-json/wp/v2/users」対策)
プラグインを使わない場合、オーサーワンの対策だけでは「wp-json…」でまだバレます。
そこで最後に、「function.php」というファイルを編集する方法を紹介します。
「function.php」というのは、WordPressの管理画面から編集できるファイルです
ブログの動作ルールを決められるようなファイルです。
そのファイルに以下のコードを記述することで、「wp-json…」が入力されても、つぎの画面でユーザー名は表示されなくなります。
function my_filter_rest_endpoints( $endpoints ) {
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
}
add_filter( 'rest_endpoints', 'my_filter_rest_endpoints', 10, 1 );
「リクエストに一致する情報は見つかりませんでした」という文が表示されるようになります。(参考:WordPress REST API によるユーザー情報を隠す)
コード記述のやり方
ダッシュボードの「外観」から「テーマファイルエディター」と進み、右側のテーマファイルから「テーマのための関数」を選択します。
「functions.php」のファイルが編集できるようになるので、赤枠のように、さきほどのコードをコピペしてください(テーマはCocoonの場合)。
それができたら、下の「ファイルを更新」ボタンを押せば、設定は完了です。
ただ、「functions.php」のファイルは、設定を間違えるとブログの動作がおかしくなってしまうことがあるものなんだ
ですから、よくわからないうちからこれを触るのは、あまりおすすめできません。
簡単なのはプラグインを使う方法なので、ユーザー名がバレる問題は、最初はそっちでやっておくのがいいですよ。
今回のまとめ
- WordPressのユーザー名は何もしていないとバレる
- まずはブログの表示名(ニックネーム)を変更しよう
- オーサーワンなどへの対策はプラグインがおすすめ
WordPressのユーザー名(ログインID)は、対策をしていないとすぐにバレてしまいます。
パスワードなどもあるので、バレたらすぐに問題になるわけではないですが、知られないに越したことはありません。
プラグインで簡単に対策できるので、早めにやっておきましょう。
よくわからないうちから重要なファイル(「.htaccess」や「functions.php」)をいじると、しくじって面倒なことになったりもします
作業は余裕を持ってしたほうがいいです。
疲れを感じたらいったん中断するなど、「安全第一」で進めていきましょう。
ブログの設定もひとつの楽しみとしてやっていくのがオススメだぞ!
コメント(確認後に反映/少々お時間をいただきます)