【.htaccess】アクセスを禁止する設定例|指定サイトから拒否・指定ファイルを拒否

.htaccessは、Apacheを用いたWebサーバに、ディレクトリ単位で設置できる設定ファイル。

今回は、その.htaccessを利用し、サーバーへのアクセスを禁止・拒否する設定例となります。

.htaccessでサーバーへのアクセスを禁止する設定例

.htaccessでは、変更する設定によってディレクティブと呼ばれる命令を記述します。また、.htaccessは配置したディレクトリと、その サブディレクトリすべてに適用されます。

以下、.htaccessでサーバーへのアクセスを禁止するディレクティブの構文の例となります。

指定したサイトからのアクセスを禁止する例

以下の構文は、example.comのリファラルからのアクセスを禁止する例となります。

deny from example.com

指定したファイルへのアクセスを禁止する例

以下の構文は、指定したファイルへのアクセスを禁止する例となります。

例では、ファイル名が以下の文字から始まるファイルを正規表現で指定して、そのファイルへのアクセスを禁止しています。

  • wp-config.php
  • wp-mail.php
  • install.php
  •  .ht(.htaccessなど)
<FilesMatch "^(wp-config\.php|wp-mail\.php|install\.php|\.ht)">
deny from all
</FilesMatch>

例で利用したディレクティブについて

以下、例で利用したディレクティブのまとめとなります。

denyディレクティブ

mod_access_compatモジュールのディレクティブは、サーバへのアクセスを制御できるディレクティブとなり、その中のdenyディレクティブは、指定した条件にもとづいてサーバへのアクセスを禁止します。

denyの引数

denyでは、第1引数は必ずfromを指定し、第2引数には以下のいずれかを指定し、アクセスを禁止するホストを設定します。

  • all(すべてアクセス禁止)
  • ホスト(ドメイン名・IPアドレスなど)
  • 環境変数(env=env-variable など)

denyディレクティブの詳細や、その他のmod_access_compatのディレクティブについては、文末の参考サイト内を確認してみてください。

FilesMatchディレクティブ

FilesMatchディレクティブは、Apache コア機能のディレクティブとなり、ディレクティブを適用させる範囲をファイル名によって制限します。また、ファイル名の指定には正規表現を利用します。

FilesMatchの構文

FilesMatchの構文は以下のような形式となり、FilesMatchで囲ったディレクティブは、FilesMatchの引数に正規表現で指定したファイル名のみに適用されます。

<FilesMatch 正規表現>

ディレクティブ

</FilesMatch>

その他にも、ディレクティブを適用させる範囲を制限できるディレクティブはあります。詳しくは文末の参考サイト内を確認してみてください。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは、項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

Twitterで返信する場合はこちらから。