【WordPress】ユーザIDがバレる?投稿者アーカイブの無効化方法

この記事では、Wordpressの投稿者アーカイブを無効化する方法を説明します。

こんにちは、管理人のうみにん(@11tejun)です。

今日は前回アップした記事[【WordPress】ユーザ名がバレる?原因と対策を説明!]が大変好評だったので、後継版として「そもそもユーザIDがバレるようなコマンドを受付禁止にする」方法を説明します。

5分で導入できる超簡単な手順ですので、あなたのサイトにもぜひ導入してみて下さい!

スポンサーリンク

【必見!】当サイトに初めて来た方へ

この記事に初めて来た方もいると思るので、まずはWordpressのセキュリティ脅威について説明します。

早速ですが、以下のコマンドをあなたのWEBサイトのURLの一番後ろに付けて、アクセスしてみて下さい。

/?author=1

ご自身のサイトURL「http://XXXXX.com」の場合は「/?author=1」を一番後ろに付けて「http://XXXXX.com/?author=1」といった具合です。

このアクセスの結果、URLにご自身のWordpress管理画面にログインするためのユーザIDが表示されていませんか?

ご自身のユーザIDが表示されてしまった方、一気に青ざめたのではないでしょうか。

私も初めてこのコマンドを知った時は「なんでやねん!アカンやん!」ってツッコミを入れました。

今、ご自身のWEBサイトがユーザIDの垂れ流しだということに気づいたあなた!必ずこのページ、または前回の記事[【WordPress】ユーザ名がバレる?原因と対策を説明!]の手順を実施し、セキュリティ対策をしてくださいね。

ちなみに前回の記事はユーザIDをダミー化する手順で、今回の記事はそもそもこの「/?author=1」コマンドを禁止する手順になります。

【勉強】「/?author=1」は投稿者アーカイブ機能の呼び出しコマンド

先ほどあなたに入力してもらった「/?author=1」というコマンドの意味について簡単に触れておきたいと思います。

「/?author=1」は投稿者の過去記事(アーカイブページ)を表示するためのコマンドです。

つまり、「author1という名前のユーザが過去に投稿した記事を一覧で表示しなさい!」という意味のURLだったのです。

そして、Wordpressの仕様として、投稿者アーカイブページを表示する場合のURLに、ユーザIDを表示してしまうのです。

「author1とか作った覚えがない!」と感じるかもしれませんが、Wordpressはログイン用のユーザを作成する度に内部的にはauthor「1」「2」…という風にIDを採番しているのです。

以上の経緯から、あなたのサイトはユーザIDが垂れ流しになっている状態だと認識いただけたかと思います。

そこで、ココからはこの投稿者アーカイブページを表示するコマンドを禁止する方法を説明します。

【手順1】使用するコマンド

投稿者アーカイブページ表示を無効化するコマンドは以下の通りです。

//投稿者アーカイブを廃止
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=X」というURLを受け付けた場合は、404.php(何も見つかりませんエラーページ)を表示するように指示したものです。

【手順2】function.phpに追記

それでは、先ほどのコマンドをご自身が使用しているテーマ内のfunction.phpに追記しましょう。

重要ポイント
<!!!!!注意!!!!!>
function.phpはWordpressを稼働させるための重要な関数が様々記載されています。

つまり、括弧のズレ等を起こすとWEBサイトが全く表示されなくなります。

なので、編集を加える前にまずはメモ帳等のエディタに編集前のfunction.phpをコピペしておきましょう。

もし、誤って真っ白の画面になってしまった場合は、WindowsならWinSCP、MACならFileZilla等のファイル操作アプリケーションを使用してサーバにアクセスし、function.phpを事前に取得したバックアップに書き換えしましょう。

【手順3】投稿者アーカイブが無効になっていることを確認

最後に投稿者アーカイブが無効になっていることを確認しましょう。

使用するURLは初めに出てきた以下コマンドを使って下さい。

/?author=1

 
「お探しのページは見つかりません」のエラー画面が出てくれば成功です!!

【まとめ】今からセキュリティ対策を!

今回も最後まで読んでくださり、ありがとうございます。とても嬉しいです。

WordPressは全世界で使用されているツールのため、不正アクセスが多いのも現状です。

不正アクセスをされてしまうと、あなたが大切に作ってきたWEBページを改ざんされたり、最悪のケースとして個人情報の流出…って事も起きる可能性があります。

ご自身のWEBページが攻撃を受ける前に、セキュリティ対策を実施していきましょう!!

あなたへのお願い

今後もあなたの悩みを解決する記事をどんどんアップしていく予定です。

このサイトが少しでも「役に立った!」と感じていただけたら、以下twitterのフォローをいただけると嬉しいです!

フォローいただけると、当サイトを定期的に確認しなくても記事作成時にあなたへお知らせします。

皆さんからのコメントや反応がやりがいで続けているので、ぜひ温かく見守っていただけると嬉しいです。

記事の新規投稿をあなたにお知らせします。
引き続きこのサイトに来たいなって感じていただけたらポチッとお願いします!(*^^*)

リンクを貼っていただくことも大歓迎です!

Twitterで記事の新規投稿通知を受け取る!