Apache Server

  
のアクセス制御について

Apacheのアクセス制御は、あらゆるリソースに対するあらゆる方法のアクセス制御を指します。

まず、ホストまたはIPアドレスに基づく制御

このアクセス制御は、訪問者のホスト名またはIPアドレスに基づいて、[拒否]および[許可]の指示に従ってホストへのアクセスを許可または禁止します。私たちのサーバーリソース。通常、Orderディレクティブも一緒に使用されて、Denyディレクティブとpermitディレクティブが機能する順序を定義します。 Orderディレクティブを使用しない場合、デフォルトの順序はDeny、Allowです。これはOrder Deny、Allowと同じです。

OrderディレクティブはAllow、Denyディレクティブと連携して、3段階の制御システムを実装します。

ステップ1:Orderの順序に従って、前の順序のすべてのAllowまたはDenyコマンドを現在の要求に適用します;つまり、Order allow、denyの場合、最初のステップはすべてのコマンドを有効にすることです。 Allowディレクティブが現在のアクセスに適用され、一致する場合はアクセスが許可され、一致するものがない場合はアクセスが禁止されます。

ステップ2:残りのすべての命令がすべての場合ステートメントは現在の要求と一致し、一致した場合は対応するアクセス制御が実行されます。

ステップ3:現在の要求が最初の2つのステップのいずれとも一致しない場合は、Order命令の次の命令が実行されます。

以下に、理解する例を示します。

指定されたディレクトリ内のリソースをローカルアクセスのみにする

< Directory" /server">注文を許可、拒否127.0.0.1から許可< /Directory>手順1:ローカルアクセスが127.0.0.1から許可されるので許可され、他のホストは許可コマンドと一致しないためアクセスは禁止されます。

ステップ2:すべてのアクセスがDeny命令と一致しない;

ステップ3:どの命令へのアクセスもない、つまりローカルアクセスではないOrder命令に従って次の拒否命令を実行します。そのため、アクセスは禁止されています。

2番目に、環境変数に従ったアクセス制御

このメソッドは、Allow from env =またはDeny from env =という構文で実装できます。たとえば、Firefoxブラウザのみが許可されます。顧客アクセス:

< Directory< /server>> SetEnvIf User-Agent" Firefox> ff = 1注文を許可、拒否env = ff< /Directory>から許可mod_rewrite 

を使用したアクセス制御mod_rewriteディレクティブの[F]フラグを使用すると、任意の基準に基づいてリソースにアクセス制御を実装できます。

たとえば、午前8時から午後6時までの任意のリソースにアクセスしたい場合は、次のようにします。

 RewriteEngine OnRewriteCond%{TIME_HOUR}> 20 [または] RewriteCond%{ TIME_HOUR}< 07RewriteRule ^ /fridge  -  [F]この場合、夕方8時00分から午前7時まで403に戻ります。
						
Copyright © Windowsの知識 All Rights Reserved