※ 本記事は広告を利用しています
WordPressを実装し、デフォルトの状態では、セキュリティが非常に弱い状態にあります。
WordPressのログインユーザーIDが「そのまま公開」されている状態では、攻撃の対象となることがあります。
WordPressで自動生成される投稿者アーカイブを無効化し、WordPressのユーザ名を隠すことが有効とされています。ここではWordPressのログインユーザーIDを完全に隠す方法についてご紹介させていただきます。
目次
WordPressの投稿者アーカイブについて
「サイトURL/?author=1」などで、アクセスしてください。
デフォルトのテーマでは下記のリンクをクリックすることで上記ページを開くことができます。
アクセスすると、リダイレクトされて、自分のユーザーIDがアドレスバーに表示されることがあります。
そのような場合は、URLからユーザーID名が丸わかりとなっている状態です。
ご利用のテーマによっては、ページが見つからない(404.php)と表示される場合があります。
その場合は、本記事の手順は無視していただいても結構かと思います。
WordPressの投稿者アーカイブはなぜ無効化する必要があるのか?
ログインユーザーIDが閲覧しているユーザーに知られても、一見何の問題もないように思えます。
しかし、ログインユーザーIDを知られると「ブルートフォースアタック(総当たり攻撃)」の成功率が上昇する危険性があります。
力任せ攻撃とも呼ばれるブルートフォースアタックでは理論的にありうるパターン全てを入力する攻撃手法ですが、ログインユーザーIDを知られることでパターンが絞られるためです。
WordPressの投稿者アーカイブを無効化する方法
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');
まとめ
今回は、WordPressのログインユーザーIDの表示を隠す方法について説明しました。
こちらもあわせてご確認ください。
WordPressのログインユーザーIDを非表示にする方法
できることを行っておくことが、WordPressのセキュリティ対策では、重要です。基本的なところは必ずカバーしておきましょう。
この他にも、パスワードを複雑にすることも重要です。下記のような安易なものにしている場合は変更するようにしましょう。
- 誕生日
- 名前
- 電話番号
- IDと類似している
など、簡単に類推できるものにしない。
セキュリティについては、下記の記事も参考になると思います。あわせてお読みください。
WordPressのセキュリティ強化・対策について~初心者向け~
【セキュリティ対策】WordPressプラグイン「SiteGuard WP Plugin」の設定方法について