アクセス制限(Order,Allow,Deny)を設定する

NO IMAGE

.htaccessによるアクセス制限

サイトを運用していると特定のフォルダやファイルへのアクセスを制限したいときがあります。apacheには保有する全てのファイルを対象にして、.htaccessによるアクセスの制限を設定することができます。

Advertisement

基本的な記述

まずは次の記述をご覧ください。

.htaccessに記述するアクセス制限の基本的な記述は上記のような内容となります。

 

Order

アクセス制限を設定するときは、許可と拒否を組み合わせながら記述します。許可と拒否の順番を設定するための命令が「Order」です。

order命令は上記の2種類しかありません。許可してから拒否する「Order allow,deny」を設定したときは、以降にallowの設定を記述して、そのあとにdenyの設定を記述します。反対に拒否してから許可する「Order deny,allow」を設定したときは、以降にdenyの設定を記述して、そのあとにallowの設定を記述します。
※正確には他にも「Order Mutual-failure」がありますが、「Order allow,deny」と全く同じ効果のため非推奨となっているため今回は説明を省きます。

各order設定したときの結果

マッチ/設定 allow,deny設定時 deny,allow設定時
allowのみマッチ 許可 許可
denyのみマッチ 拒否 拒否
どちらにもマッチしない 拒否(※1) 許可(※1)
両方ともマッチする 許可(※2) 拒否(※2)

(※1)2番目に記述した命令がデフォルトになる
(※2)最後にマッチしたほうが有効になる

 

Allow,Deny

許可を設定するときに指定するのが「Allow」、拒否を設定するときに指定するのが「Deny」です。

設定できるものは次のようなものです。
all
「all」を設定したときは全ての接続が対象となります。

ドメイン名(ホスト名)
ドメイン名(ホスト名)を設定したときは、記述したホスト名からの接続が対象となります。アクセス元のIPからホスト名を調べて、対象のホスト名のときは後方一致で適用されます。

IPアドレス
IPアドレスを設定したときは、記述したIPアドレスをもった接続が対象となります。

IPアドレスのときはサブネットマスクを設定することもできます。

[192.168.1.0/24]は「192.168.1.0~192.168.1.255」までの256個のIPアドレスを示します。

Advertisement

web開発カテゴリの最新記事