【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ページが攻撃を受ける前に、セキュリティ対策を実施していきましょう!!

記事の投稿通知を受け取る!