WordPress 投稿者アーカイブの無効化

当ページのリンクには広告が含まれています。
投稿者アーカイブの無効化
目次

投稿者アーカイブについて

WordPressには投稿者ごとのエントリーをまとめた、投稿者アーカイブというページがあります。
カテゴリーページの投稿者版といった感じです。

なぜ危険なのか?

WordPressは世界中で利用されているオープンソースプログラムです。
そのためログインページの推測が容易であり、不正ログインの対象になりやすいです。

また、URLが「https://example.com/author/投稿者ID/」のようになりますが、
この「投稿者ID」に表示されるのは投稿者のユーザーIDです。
いわば『投稿者アーカイブ≒ユーザーIDを教える』ようなものです。

・ログインページ
・ユーザーID
と続いたら残りはパスワードですね?

パスワードが知られていなければ大丈夫じゃないの?とお思いの方、非常に危険です!!
パスワードだけであれば、力任せの総攻撃で容易に突破されてしまいます。

どうやって確認出来る?

サイトURL/author/投稿者ID

で確認してみてください。
該当する投稿者のアーカイブが表示されるはずです。

Not Foundや404エラーが返される場合は、
・投稿者アーカイブ非表示対応が出来ている
・投稿者IDを間違えている
のどちらかです。

投稿者アーカイブを無効化しよう

管理画面 > 外観 > テーマファイルエディター
にて、「編集するテーマを選択」で、使用中のテーマを選びます。

「テーマのための関数(functions.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');

を追加して、『ファイルを更新』してください。

再度確認してみよう

functions.phoを更新したら、改めて

サイトURL/author/投稿者ID

を確認してください。
Not Foundになったら成功です。

設定後は新規タブや新規ページにて確認してください。
設定前から表示しているページをそのままリロードしても、変更が適用されない場合があります。

 

Cocoonの方は要チェック!

Cocoonを使用している方は「投稿者名」を表示されている方が多いです。
※本文下にある鉛筆マークの部分

この表示が残っていると上記設定をしてもリンク先に投稿者IDが含まれるため、せっかく対処しても意味がありません。「Cocoon設定>本文>投稿者名の表示」のチェックを外しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次