Order、Allow、Denyディレクティブ

Orderディレクティブの動作に誤解があったので忘れないようにメモしておく。

  • Deny,Allow

 デフォルトではこの順序。
 アクセスはデフォルトで許可する。
 Deny ディレクティブに合わないか、Allow ディレクティブに合うクライアントはアクセスを許可する。
 つまり、DenyとAllowの両方に合うクライアントは許可される。

  • Allow,Deny

 アクセスはデフォルトで拒否する。
 Allow ディレクティブに合わないか、Deny ディレクティブに合うクライアントはアクセスを拒否する。
 つまり、DenyとAllowの両方に合うクライアントは拒否される。

  • Mutual-failure

 Allowリストに現れて、Denyのリストに現れないホストのみがアクセスを許可する。
 非推奨らしく、Order Allow,Deny を使えとのこと。



あるIPからのみアクセスを許可する場合、次のように書いておけばAllowにマッチしたIPは、
Denyの評価が行なわれないと思ってた・・・(--;)

間違い)

Order Allow,Deny
Allow from xxx.xxx.xxx.xx
Deny from all


こう書かないといけないんだね。
つか、ドキュメントにも書いてあった・・・

正解)

Order Deny,Allow
Deny from all
Allow from xxx.xxx.xxx.xx