WordPressでディレクトリブラウジングを無効にする方法

ディレクトリブラウジングを無効にするのを忘れているウェブサイトをよく見かけます。一見すると大したことではないように思えるかもしれませんが、この小さな見落としが機密情報を公開し、サイトを危険にさらす可能性があります。

ディレクトリブラウジングが有効になっていると、誰でもサーバー上のファイルやフォルダを表示できます。ハッカーは、この情報を使用して、プラグイン、テーマ、さらにはホスティング環境の脆弱性を特定できます。

幸いなことに、この問題を修正するのは迅速かつ簡単です。ディレクトリブラウジングをオフにすることで、保護層が追加され、攻撃者があなたのサイトを標的にすることがはるかに困難になります。

このガイドでは、WordPressでディレクトリブラウジングを無効にする簡単な手順を説明します。これにより、ウェブサイトを保護し、データを安全に保つことができます。

WordPressでディレクトリブラウジングを無効にする方法

このガイドで取り上げるトピックの簡単な概要を以下に示します。

WordPressでディレクトリブラウジングを無効にするとどうなりますか?

ディレクトリブラウジングを無効にすると、インデックスファイルが存在しない場合に、訪問者がサイト上のファイルやフォルダのリストを表示できなくなります。その生のディレクトリを表示する代わりに、サーバーは空白ページまたはエラーメッセージを表示します。

誰かがあなたのウェブサイトを訪れると、サーバーは通常、インデックスファイル(index.htmlindex.php など)をブラウザに配信します。そのファイルが見つからない場合、多くのサーバーはフォールバックしてそのフォルダー内のすべてのファイルを表示します。

ディレクトリブラウジングが有効です

この動作はディレクトリブラウジングと呼ばれ、ホスティングサーバーではデフォルトで有効になっていることがよくあります。

問題は、これによりサイトの構造に関する機密性の高い詳細が公開されてしまうことです。ハッカーはこれを利用して、プラグイン、テーマ、あるいはホスティング環境の脆弱性を探すことができます。

場合によっては、ディレクトリブラウジングによって、電子書籍のダウンロードやオンラインコースなどのプライベートまたは有料コンテンツが公開され、許可なくコピーされる可能性があります。

だからこそ、私たちは初心者の方を支援する際に常にこのリスクを指摘しています。ディレクトリブラウジングを無効にすることは、サイトを保護し、不必要な収益損失を防ぐための迅速な変更です。

WordPressでディレクトリブラウジングが有効になっているか確認する方法

ディレクトリブラウジングがWordPressウェブサイトで有効になっているかどうかを確認する簡単な方法は、/wp-includes/フォルダに直接アクセスすることです。

例えば、ブラウザに https://example.com/wp-includes/ のようなURLを入力するだけです。

example.com を実際のウェブサイトのドメイン名に置き換えてください。この簡単なテストは、ほとんどの WordPress インストールで機能します。

403 Forbiddenメッセージまたは類似のエラーが表示される場合、ディレクトリブラウジングはすでに無効になっています。これは良い兆候であり、ウェブサイトがより安全であることを意味します。

ディレクトリブラウジングが無効になっていると、403 Forbidden ページが表示されます

ファイルとフォルダのリストが表示される場合は、ディレクトリブラウジングが有効になっています。

ディレクトリブラウジングを有効にしたままにすると、ウェブサイトが悪意のある攻撃に対して脆弱になります。

私たちの経験では、ディレクトリブラウジングを有効にすると機密情報が公開され、セキュリティリスクが増大します。このため、サイトを安全に保つためにWordPressでディレクトリブラウジングを無効にするのが最善です。

WordPressでディレクトリブラウジングを無効にする方法

WordPressの.htaccessファイルに1行コードを追加することで、ディレクトリブラウジングを無効にできます。

これは強力なサーバー設定ファイルですので、変更を加える前に.htaccessファイルのバックアップを作成することが非常に重要です。不適切な編集はサイトにアクセスできなくなる可能性があります。

ヒント: 私たちは Duplicator を使用して、すべてのWordPressウェブサイトを自動的にバックアップしています。これにより、スケジュールバックアップとオンデマンドバックアップを作成できます。さらに重要なのは、1クリックで簡単にウェブサイトを復元できることです。詳細については、当社の完全な Duplicatorレビュー をご覧ください。

このファイルには、主に2つの方法でアクセスできます。

方法1:cPanelのファイルマネージャーを使用して.htaccessファイルを編集する

ほとんどのユーザーにとって最も簡単な方法は、WordPressホスティングアカウントのコントロールパネル(cPanel)で提供されているファイルマネージャーアプリを使用することです。

まず、ホスティングアカウントにログインし、ファイルマネージャーを開きます。

cPanelファイルマネージャーアプリ

ウェブサイトのルートフォルダ(多くの場合public_htmlという名前です)に移動します。

次に、.htaccessファイルを見つけます

表示されない場合は、ファイルマネージャーの設定で「隠しファイルを表示」が有効になっていることを確認してください。

cPanel経由のファイルマネージャーで.htaccessファイルを編集する

ファイルを右クリックして「編集」または「コードエディタ」を選択します。

方法2:FTPクライアントを使用した.htaccessファイルの編集

または、FTPクライアントを使用してウェブサイトのファイルに接続することもできます。

初めての方は、FTPを使用してサイトに接続する方法に関する完全なガイドに従ってください。

  1. FTPで接続したら、サイトのルートディレクトリ(例:public_html)に移動します。
  2. .htaccess ファイルを見つけます。
  3. ファイルをコンピューターにダウンロードしてから、メモ帳やTextEditのようなプレーンテキストエディターで開いてください。
.htaccessにコードを追加する

どちらの方法でも.htaccessファイルを編集用に開いたら、ファイルの末尾に次のコード行を追加するだけです。

Options -Indexes

このようになります:

画像に境界線を追加しました

次に、変更を保存します。FTPクライアントを使用した場合は、編集した.htaccessファイルをサーバーに再アップロードし、元のファイルを上書きする必要があります。

Nginxユーザーへの注意 📝: この.htaccessメソッドは、Apacheウェブサーバーで実行されているウェブサイトに適用されます。ウェブサイトがNginxサーバーにある場合、この設定は通常、ホスティングプロバイダーによってサーバーレベルで処理され、ディレクトリブラウジングは通常デフォルトで無効になっています。詳細については、Apache vs Nginx vs LiteSpeedウェブサーバーの比較をご覧ください。

これで、同じhttp://example.com/wp-includes/ URLにアクセスすると、403 Forbiddenまたは類似のメッセージが表示されます。

ディレクトリブラウジングが無効になっていると、403 Forbidden ページが表示されます
ボーナスヒント:プラグインを優先しますか?

コードの編集に慣れていない場合は、優れたWordPressセキュリティプラグインがこれを代行してくれます。

ほとんどのWordPressセキュリティプラグインには、ウェブサイトの強化機能の一部としてディレクトリブラウジングを無効にするワンクリックオプションが含まれているため、ファイルを一切編集する必要はありません。

ディレクトリブラウジングの無効化に関するよくある質問

ディレクトリブラウジングとは何ですか?また、なぜセキュリティ上のリスクとなるのですか?

ディレクトリブラウジングは、index.phpのようなインデックスファイルが存在しない場合に、ディレクトリ内のすべてのファイルとフォルダを一覧表示するサーバー機能です。これは、テーマやプラグインの使用状況を含むサイトの構造を攻撃者に公開するため、セキュリティリスクとなります。

ディレクトリブラウジングを無効にすると、ウェブサイトのSEOに影響しますか?

いいえ、ディレクトリブラウジングを無効にしてもSEOに悪影響はありません。検索エンジンはコンテンツに関心があり、ファイル構造には関心がありません。実際、ウェブサイトのセキュリティを向上させることは、検索エンジンにとってプラスのシグナルです。

プラグインを使用するのと.htaccessファイルを編集するのと、どちらが良いですか?

どちらの方法でも同じ結果が得られます。.htaccessファイルを編集するのは、迅速な1回限りの修正です。Sucuriのようなセキュリティプラグインを使用することは、初心者にとって素晴らしいです。なぜなら、コードを編集することなく、ワンクリックでこれや他の多くのセキュリティ設定を処理してくれるからです。

WordPressサイトでNginxサーバーを使用している場合はどうなりますか?

.htaccess ファイルは Apache Web サーバーに固有のものです。Nginx サーバーでは、通常、ディレクトリ一覧表示はメインサーバー構成でデフォルトで無効になっています。有効になっていると思われる場合は、ホスティングプロバイダーに連絡して無効にしてもらう必要があります。

WordPressセキュリティに関する追加資料

WordPressウェブサイトを安全でエラーのない状態に保ちたいですか?以下の記事が役立つかもしれません:

この記事がWordPressでディレクトリブラウジングを無効にする方法を学ぶのに役立ったことを願っています。また、WordPressセキュリティの究極ガイドや、専門家が選んだ最高のWordPressセキュリティプラグインもご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

98 CommentsLeave a Reply

  1. WordPressサイトでディレクトリブラウジングが無効になっていることに気づきました。wp-includesにアクセスしようとした際に403エラーが表示されたのですが、それを意図して.htaccessファイルを編集した記憶がありません。
    WordPressは初期インストール時にディレクトリブラウジングを自動的に無効にしますか?

    • 最近の変更がなければ、デフォルトではそうではありません。htaccess のホスティングプロバイダーのデフォルト設定である可能性があります。

      管理者

      • That’s what I was suspecting also, thanks for clarifying that WordPress doesn’t disable directory browsing by default.
        And the respond too :)

  2. この脆弱性が存在することすら知りませんでした。自分のサイトを確認したところ、403エラーが表示されました。これはディレクトリブラウジングが無効になっていることを意味します。ありがとうございます。

  3. アドバイスありがとうございます。ディレクトリブラウジングについて、または私がそれを有効にしていることについて、AIO SEOプラグインが常に警告してきます。現在、フォルダに空のindexファイルを作成することで問題を解決しました。これを可能な解決策の1つとして受け入れることはできますか?

      • アドバイスありがとうございます。最終的に Options -Indexes メソッドを使用し、AIO SEO はすでに問題を解決済みと報告しています。重ねて感謝いたします。

  4. 提供されたガイドラインに従ってhtaccessファイルを編集した後、/wp-includes/に対して403 Forbiddenメッセージが表示されます。しかし、投稿の編集ができません。投稿を編集すると、同じ403 Forbiddenメッセージが表示されます。これを解決するにはどうすればよいですか?

  5. ブラウザでフォルダに直接アクセスできるのを見てショックを受けました。
    解決策をありがとうございます!

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。