【WordPress】【セキュリティ対策】不要なRSSフィード配信は無効化しよう
こんにちは、webエンジニアのゾノ( @ozonosho )です。
前回の記事に続いて、今回もWordPressデフォルト設定のままだとセキュリティ上宜しくないポイントについて書きます。
今回はRSSフィード配信機能の無効化についてです。
WordPressで作られたサイトは「https://ドメイン/feed」というURLに接続することでフィード情報を取得できます。
例:https://tsukuriba.co.jp/feed/
そして、フィード情報のページにはWordPressのバージョン情報や、投稿ごとの著者名が記載されています。
これらの情報は共有する必要が無い限り第三者に公開しないほうが安全です。
そのため、RSSフィードの配信が不要なサイトの場合、フィード配信機能を無効化することが推奨されます。
フィード配信機能を無効化する方法は、ググると「functions.php」に下記のコードを追加する方法が出てきます。
※先に伝えると下記方法だと対策が足りません
//フィード配信を停止 remove_action('do_feed_rdf', 'do_feed_rdf'); remove_action('do_feed_rss', 'do_feed_rss'); remove_action('do_feed_rss2', 'do_feed_rss2'); remove_action('do_feed_atom', 'do_feed_atom'); //フィードリンクを除去 remove_action('wp_head', 'feed_links', 2); remove_action('wp_head', 'feed_links_extra', 3);
たしかにこれでフィード配信は無効化されます。
ただ、、、利用しているサーバーによっては、フィード配信を無効にした状態で「https://ドメイン/feed」に接続するとXMLエラーが出て、WordPressの情報も表示されてしまうんですよね。
確実に404エラーを表示させるためには、上記に加えて「.htaccess」に下記のコードを挿入してください。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{THE_REQUEST} feed [NC] RewriteRule ^ - [L,R=404] </IfModule>
この対応をすることで、正しく404エラーを表示し、第三者にたいしてWordPressで配信されるフィード情報を隠すことができます。
おわりに
以上、今回の記事ではWordPressのRSSフィード配信を無効化する方法を紹介させていただきました。
当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。