Apache HTTP サーバ バージョン 2.2

| 説明: | ホスト (名前もしくは IP アドレス) に基づいたグループ承認 | 
|---|---|
| ステータス: | Base | 
| モジュール識別子: | authz_host_module | 
| ソースファイル: | mod_authz_host.c | 
| 互換性: | Apache 2.1 以降 | 
mod_authz_host により提供されるディレクティブは
    サーバの特定の部分への
    アクセスを制御するために <Directory>, <Files>, <Location>
    と .htaccess ファイルで使用されます。クライアントのホスト名、IP
    アドレスや 環境変数として取得された、その他のリクエストの特徴に基づいて
    アクセス制御を行なうことができます。Allow と
    Deny ディレクティブは
    どのようなクライアントにアクセスを
    許可する、しないかを指定するために使用されます。一方、
    Order ディレクティブは
    デフォルトのアクセス状態と、
    Allow ディレクティブと
    Deny
    ディレクティブとのお互いへの影響の仕方を設定します。
    
ホストによるアクセス制限とパスワードによる認証を同時に
    行なうことが可能です。その場合、その二つの制限の関係を指定するために
    Satisfy
    ディレクティブを使用します。
一般的には、アクセス制限ディレクティブはすべてのアクセスメソッド
    (GET, PUT, POST など)
    に適用されます。そして、ほとんどの場合これが望ましい動作です。
    しかし、<Limit>
    セクションの中にディレクティブを書くことで、
    一部のメソッドにのみ制限をかけることもできます。
| 説明: | サーバのある領域にアクセスできるホストを制御する | 
|---|---|
| 構文: |  Allow from all|host|env=env-variable
[host|env=env-variable] ... | 
| コンテキスト: | ディレクトリ, .htaccess | 
| 上書き: | Limit | 
| ステータス: | Base | 
| モジュール: | mod_authz_host | 
Allow ディレクティブはどのホストが
    サーバのある領域をアクセスできるかに影響を与えます。
    アクセスはホスト名、IP アドレス、IP アドレスの範囲や、
    環境変数として取得された、その他のクライアントのリクエストの
    特徴によって制御することができます。
このディレクティブの最初の引数は常に from です。
    それに続く引数は三つの違った形式があります。Allow from
    all が指定されていれば、すべてのホストにアクセスを許可し、
    アクセス制限は下で説明されているように、
    Deny
    ディレクティブと Order
    ディレクティブの設定で決まります。
    特定のホストやホスト群にのみサーバへのアクセスを許可するためには、
    以下のどれかの形式で host を指定することができます:
        Allow from apache.org
        Allow from .net example.edu
      
この文字列に合うか、これで終わる名前のホストのアクセスが許可されます。
      各部分が完全に合うものだけに適用されますので、上の例は
      foo.apache.org にはマッチしますが、
      fooapache.org にはマッチしません。
      この設定をすると、Apache は
      HostnameLookups
      の設定に関わらず、クライアントの IP アドレスに対して
      DNS の 2 重逆引きを行ないます。
      ホスト名からオリジナルの IP アドレスを順引きします。
      順引きと逆引きが一致し、ホスト名が該当した場合にのみ、
      アクセスが許可されます。
        Allow from 10.1.2.3
        Allow from 192.168.1.104 192.168.1.205
      
アクセスを許可する IP アドレスです。
        Allow from 10.1
        Allow from 10 172.20 192.168.2
      
サブネットの制限用の、IP アドレスの最初の一つから三つまでのバイトです。
        Allow from 10.1.0.0/255.255.0.0
      
ネットワーク a.b.c.d とネットマスク w.x.y.z です。 より細粒度のサブネット制限用です。
        Allow from 10.1.0.0/16
      
ネットマスクが nnn の上位ビットが 1 となっているものからなること以外は前のものと同じです。
注: 最後の三つの例はまったく同じホストに合います。
IPv6 アドレスと IPv6 のサブネットは以下のように指定できます:
       Allow from 2001:db8::a00:20ff:fea7:ccea
       Allow from 2001:db8::a00:20ff:fea7:ccea/10
    
Allow ディレクティブの引数の三つ目の形式は、
    環境変数
    の存在によりアクセスの制御を行なえるようにするものです。
    Allow from env=env-variable
    が指定されていると、環境変数 env-variable
    が存在した場合にリクエストはアクセスを許可されます。サーバは
    mod_setenvif
    のディレクティブにより、クライアントのリクエスト
    の特徴に基づいて柔軟に環境変数を設定する機能を提供します。
    ですから、このディレクティブはクライアントの
    User-Agent (ブラウザの種類)、Referer
    や他の HTTP リクエストのヘッダフィールドなどに基づいて
    アクセス許可をするために使うことができます。
    
      SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
      <Directory /docroot>
      
        Order Deny,Allow
        Deny from all
        Allow from env=let_me_in
      
      </Directory>
    
この場合、user-agent の文字列が KnockKnock/2.0
    で始まるブラウザのみがアクセスを許可され、
    他のものはアクセスを拒否されます。
| 説明: | サーバがアクセスを拒否するホストを制御する | 
|---|---|
| 構文: |  Deny from all|host|env=env-variable
[host|env=env-variable] ... | 
| コンテキスト: | ディレクトリ, .htaccess | 
| 上書き: | Limit | 
| ステータス: | Base | 
| モジュール: | mod_authz_host | 
このディレクティブはホスト名、IP
    アドレス、環境変数に基づいてサーバへのアクセスを制限します。
    Deny ディレクティブの引数は Allow
    ディレクティブとまったく同じです。
| 説明: | デフォルトのアクセス可能な状態と、 AllowとDenyが評価される順番を制御する | 
|---|---|
| 構文: |  Order ordering | 
| デフォルト: | Order Deny,Allow | 
| コンテキスト: | ディレクトリ, .htaccess | 
| 上書き: | Limit | 
| ステータス: | Base | 
| モジュール: | mod_authz_host | 
Order ディレクティブはデフォルトのアクセスの状態と
    Allow ディレクティブと
    Deny
    ディレクティブが評価される順番を制御します。
    Ordering は以下のどれかです。
Deny,AllowDeny ディレクティブが
      Allow
      ディレクティブの前に評価されます。
      アクセスはデフォルトで許可されます。Deny
      ディレクティブに合わないか、Allow
      ディレクティブに合うクライアントはアクセスを許可されます。Allow,DenyAllow
      ディレクティブが Deny
      ディレクティブの前に評価されます。
      アクセスはデフォルトで拒否されます。Allow
      ディレクティブに合わないか、Deny
      ディレクティブに合うクライアントはアクセスを拒否されます。
      Mutual-failureAllow のリストに現れて、
      Deny
      のリストに現れないホストのみがアクセスを許可されます。
      この順番付けは Order Allow,Deny と同じ効果を持ち、
      その設定の方が好ましいために非推奨となっています。キーワードはコンマで分離することだけが可能です。
    間に空白があってはいけません。どの場合でも、Allow と
    Deny 文は
    全て評価されるということに注意してください。
    
以下の例では、apache.org ドメインのすべてのホストはアクセスを許可されます。 他のすべてのホストはアクセスを拒否されます。
      Order Deny,Allow
      Deny from all
      Allow from apache.org
    
次の例では、foo.apache.org サブドメインにあるホスト以外の、 apache.org ドメインのすべてのホストがアクセスを許可されます。 apache.org ドメインでないホストは、デフォルトの状態がアクセス拒否のため、 サーバへのアクセスを拒否されます。
      Order Allow,Deny
      Allow from apache.org
      Deny from foo.apache.org
    
一方、上の例の Order が Deny,Allow
    に変わっていれば、すべのホストにアクセスが許可されます。
    これは、設定ファイル中の実際の順番に関わらず、
    Allow from apache.org が最後に評価されて、
    Deny from foo.apache.org を上書きするからです。
    apache.org
    ドメインにないホストも、デフォルトの状態が allow
    に変化するために、アクセスを許可されます。
    
Order
    ディレクティブはデフォルトのアクセスの状態に影響を与えるので、
    Allow ディレクティブと
    Deny
    ディレクティブが無くても、サーバのアクセスに影響を与えることができます。
    たとえば、
      <Directory /www>
      
        Order Allow,Deny
      
      </Directory>
    
はデフォルトのアクセス状態が deny になるため、
    /www ディレクトリへのすべてのアクセスを拒否します。
    
Order
    ディレクティブはサーバの設定処理の各段階でだけ
    アクセスディレクティブの処理の順番を変更します。これは、たとえば、
    Order ディレクティブの設定に関わらず、
    <Location> セクションの
    Allow ディレクティブや
    Deny ディレクティブは、
    Directory セクションや
    .htaccess ファイルの Allow
    ディレクティブや Deny
    ディレクティブよりも常に後に評価されるということを意味します。
    設定セクションのマージの詳細については、
    Directory,Location, Files
    セクションの動作方法 を参照してください。