こんにちは。IT系ワーママのりょうこです。
WordPressでブログを書いているんですが、知らない人が私のユーザーIDを知っていたんです。怖い!
WordPressの初期設定では、管理画面にログインするためのユーザーIDは誰にでもわかってしまいます。
パスワードがわからなければログインはできませんが、不正アクセスを防ぐためにはユーザーIDは秘密にしておきたいですね。
WordPressでブログを作成するかたが増えています。
手軽にと言うにはちょっと難しい部分もありますが、解説サイトや動画もたくさんあり、IT技術職ではなくても自分のサイトを立ち上げ運用できるようになりました。
一方セキュリティ的な観点で言うと、使っている人が多いということは悪い人に狙われやすいということ。
WordPressの管理ツールを使ってブログを作成していると思いますが、もし自分以外の人が管理画面にログインしてしまったらと想像してください。苦労して作った記事も画像も削除し放題、変更し放題。なんとも怖いです。
管理ツールに他の人にログインされないための手段はいくつもあります。例えば、
- ユーザーIDを知られないようにする
- パスワードを複雑にする
- 他で使用していないパスワードにする
- ログイン画面を見つけにくくする
- 何度もログインに失敗したらアカウントをロックする
- 人間の操作以外からのログイン試行を防ぐ
など
本記事では、そのうちの一つ「ユーザーIDを知られないようにする」ための方法を解説していきます。
- 表示される投稿者名の変更方法(ニックネームの設定)
- ユーザーIDをWordPress標準機能で確認する方法(投稿者アーカイブの表示)
- ユーザーIDを確認する機能を無効にする方法(投稿者アーカイブの無効化)
投稿者名の変更
投稿した記事に投稿者名が表示されている場合、初期状態では管理画面へログインする際に使用するユーザーIDになっています。
例えば、WordPressテーマCocoonでは初期設定では記事投稿者名が記事の末尾に表示されています(画像はニックネームに変更後)。その他、コメントやコメントの返信を投稿した場合も投稿者名が表示されます。
まずは、この表示をログイン時に使用するユーザーIDではない別の名称(ニックネーム)に変更しましょう。
ニックネームではログインできませんので、セキュリティ対策として有効です。
Cocoonで投稿者名自体を記事から削除する場合は
「Cocoon設定」→「本文」→「投稿関連情報」のなかの「投稿者名の表示」をOFFにしてください
投稿者名の変更方法:ニックネームを設定
- 「ユーザー」⇒「プロフィール」をクリック
- 「ニックネーム」を入力
- 「ブログ上の表示名」に入力したニックネームを選択
- 画面下の「プロフィールの更新」をクリック
ニックネームの設定ができました。しかしこれだけでは不十分です。
下の「投稿者アーカイブの無効化」設定も必ず実施して下さい。
投稿者アーカイブの無効化
WordPressの標準機能である、投稿者アーカイブとその無効化について説明します。
投稿者アーカイブとは
投稿アーカイブとはWordPressの標準機能で、投稿者のユーザーIDごとの投稿がまとめて表示されるページのことです。
ログインするためのユーザーIDがわからなくなってしまったときにも使われる便利機能でもあります。
次のURLにアクセスすると、自動的にユーザーIDが含まれるアドレスに自動的に変換(リダイレクトと言います)されユーザーIDごとの投稿がまとめられたページが表示されます。
https://[サイトのドメイン]/?author=1
↓↓↓ 自動的に変換 ↓↓↓
https://[サイトのドメイン]/author/[ユーザーID]
具体例で見てみましょう。
test.com というドメインに、testuser というユーザーIDでログインして記事を投稿している場合
https://test.com/?author=1
にアクセスすると
https://test.com/author/testuser/
というユーザIDが含まれるURLにリダイレクトされ、testuserが投稿した記事一覧が表示されます。
ご自身のサイトでもできますので試してみて下さい。
もちろんログインするにはユーザーIDとパスワードの組み合わせが必要になるので、このまますぐに不正アクセスということにはなりません。しかしながらログインに必要な情報のうちの1つが簡単にばれてしまいました。
パスワードが簡単なものならば総当たり攻撃(ブルートフォースアタック)で破られてしまいますし、同じユーザーID・パスワードの組み合わせがパスワードリストとして出回っていたら第三者の不正ログインは簡単に成功ということになります。
※ユーザーID・パスワードの組み合わせリストは今や売買される対象です。
なお、[?author=1]の「1」は一人目のユーザという意味で、複数人のユーザで運営しているサイトの場合、2, 3と数字を変更することで他のユーザーのIDも表示されます。
投稿者アーカイブ無効化の方法
投稿者アーカイブが何かわかったところで、投稿者アーカイブを無効化して表示させないようにする方法を紹介します。
方法はいくつかありますが、ここではSiteGuard WP Pluginを使用する方法と子テーマのfunctions.phpを修正する方法をご紹介します。いずれか実施すればOKです。
SiteGuard WP Pluginを使用する方法
「SiteGuard WP Plugin」は管理画面へのログイン画面のURLを変更する機能のために、既にインストールされているかもしれません。
まだインストールされていない方は、下記記事を参考にしてインストールしてください。
>> SiteGuard WP Pluginで不正ログインを防ぐ!【WordPressセキュリティ対策】
「SiteGuard WP Plugin」にも投稿者アーカイブを無効化する機能があります。デフォルトOFFなので、ONにすればOKです。
操作手順
- 「SiteGuard」をクリック
- 「ユーザー名漏洩防御」をクリック
- 「ON」をクリック
- 「変更を保存」をクリック
「ダッシュボード」→「SiteGuard」→「ユーザー名漏洩防御」をクリックします。
デフォルトはOFFになっているので「ON」をクリックします。。
画面下の「変更を保存」ボタンをクリックします
最後にご自身のサイトの
https://[サイトのドメイン]/?author=1
にアクセスし、トップページが表示されるようになっていることを確認してください。
function.phpを修正する方法
子テーマのfuncion.phpに下記の関数を追加する方法を説明します。
この関数を追加すると、投稿者アーカイブのURLにアクセスすると404エラーページ(ページが存在しない場合に表示されるページ)が表示されるようになります。
☆右上のボタンを押すとコピーできるよ!
/* 投稿者アーカイブページの無効化 */
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');
WordPressの管理画面での操作手順を解説します
- 「外観」をクリック
- 「テーマファイルエディター」をクリック
- テーマ選択で「子テーマ」を選択(CocoonならばCocoon Child、SWELLならばSWELL Child など)
- テーマファイル選択で「function.php」を選択
- 上のコードをコピーして貼り付け
- ファイルを更新ボタンをクリック
成功すると「ファイルの編集に成功しました」というメッセージが出ます。
最後にご自身のサイトの
https://[サイトのドメイン]/?author=1
にアクセスし、404 Not Foundが表示されるようになっていることを確認してください。
まとめ:ユーザーIDは隠しておこう
WordPressの管理画面にログインするためのユーザーIDは、他の人に教える必要はありませんよね。
必要がなければ、隠しておくのが一番です。
- ニックネームの設定
- 投稿者アーカイブページの無効化
により隠すことができます。
一度設定しておけばその後は気にする必要がなくなるので、ぜひやってみてください。
上記設定をすると万が一ユーザーIDを忘れたときに、投稿者アーカイブページを使用した確認ができなくなるよ。
忘れないように気をつけてね!!
コメント