メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
apache:2.4:acdApache2.4 アクセス制御ディレクティブ
Version 2.4.41
— y2sunlight 2019-10-07
関連記事
Appendix
- Apache2.4 アクセス制御ディレクティブ
ここでは<Directory>,<Files>,<Location>ブロックの中で良く使用される記述するアクセス制御ディレクティブについて説明します。Apache2.4 では、Apache2.2 からアクセス制御の記述方法が大幅に変わったおり、特に、Requireディレクティブを使ったアクセス制御は、これまでのOrderとAllow/Denyを使った方法よりも分かり易くなっています。
Require
構文: Require [not] entity-name [entity-name] …
Requireディレクティブは、ユーザーが認証プロバイダーによって認証されているか否かをテストします。
Require all granted アクセスは無条件で許可されます。 Require all denied アクセスは無条件で拒否されます。 Require env env-var [env-var] … 指定された環境変数のいずれかが設定されている場合にのみアクセスが許可されます。 Require method http-method [http-method] … 指定されたHTTPメソッドに対してのみアクセスが許可されます。 Require expr expression expressionがtrueと評価された場合、アクセスが許可されます。 Require user userid [userid] … 指定されたユーザーのみアクセスが許可されます。 Require group group-name [group-name] … 指定されたグループのみアクセスが許可されます。 Require valid-user すべての有効なユーザーに対してアクセスが許可されます。 Require ip [ip-pattern] … 指定されたIPアドレス範囲に対してアクセスが許可されます。
Options
構文: Options [+|-] option [[+|-]option] …
Optionsディレクティブは、特別なアクセス制御オプションを指定する場合に使います。option の頭に+ をにつければ現在の設定に加えられ、 - を付ければ現在の設定から削除されます。以下に指定できるoption を挙げます。
All MultiViews を除いた全てのオプションが有効となります。 (デフォルト動作) None 全てのオプションを無効にします。 ExecCGI CGI スクリプトの実行を許可します。 FollowSymLinks ディレクトリ中のシンボリックリンクを有効にします。
※ <Location>ブロック内では無視されます。Includes SSI を有効にします。 IncludesNOEXEC SSI は有効になりますが、#exec コマンド と #exec CGI は無効になります。
※ #include virtual で、ScriptAlias されたディレクトリでのCGI の実行は可能です。Indexes /で終わるURLリクエストで、DirectoryIndex で指定したファイル(index.htmlなど) が ディレクトリ内に無い場合、ディレクトリ中のファイルリストをクライアントに返します。 MultiViews コンテントネゴシエーションされたMultiViewsを許可します。 SymLinksIfOwnerMatch シンボリックリンクのリンク元とリンク先の所有者が同じ場合にのみシンボリックリンクを 有効にします。
※ <Location>ブロック内では無視されます。
AllowOverride
構文: AllowOverride directive-type [directive-type] …
AllowOverrideディレクティブはアクセス制御ファイル(既定では.htaccess)によりで上書きが許可されるディレクティブの種類を指定します。AllowOverride は正規表現無しの<Directory>ブロックでのみ有効です。以下に指定できるdirective-typeを挙げます。
All 上書き可能な全てのディレクティブの種類が有効になります。 (デフォルト動作) None アクセス制御ファイルは無視されます AuthConfig 認証に関するディレクティブの上書きを許可します。
※ AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFileAuthName, AuthType, AuthUserFile, Require など。FileInfo ドキュメントタイプに関するディレクティブの上書きを許可します。
※ DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime の Add* と Remove* ディレクティブなど。Indexes ディレクトリインデックスに関するディレクティブの上書きを許可します。
※ AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName など。Limit ホストへのアクセス制御に関するディレクティブの上書きを許可します。
※ Allow, Deny, OrderディレクティブOptions 特別なアクセス制御オプションに関するディレクティブの上書きを許可します。
※ Options と XBitHackディレクティブ
Order
Apache2.4ではOrderとAllow/Denyを使った方法よりもRequireを使うことをお薦めします。構文: Order ordering
ホストに対するデフォルトのアクセス可能状態と、Allow/Deny ディレクティブの評価順を指定する場合に使います。以下に指定できるordering を挙げます。
Deny,Allow ホストに対するアクセスはデフォルトで許可されます。Deny ,Allow の順で評価されます。Deny に一致するホストからのアクセスを拒否します。 (デフォルト動作)
※ カンマ(,)の前後に空白を入れてはいけません。Allow,Deny ホストに対するアクセスはデフォルトで拒否されます。Allow,Deny の順で評価されます。Allowに一致するホストからのアクセスを許可します。
※ カンマ(,)の前後に空白を入れてはいけません。Order設定とAllow/Denyによるアクセス制御の結果
マッチ Order Allow,Deny Order Deny,Allow Allow だけにマッチ 許可 許可 Deny だけにマッチ 拒否 拒否 両方マッチしない 拒否 許可 両方にマッチする 拒否 許可
Allow/Deny
Apache2.4ではOrderとAllow/Denyを使った方法よりもRequireを使うことをお薦めします。構文: Allow from all | host
構文: Deny from all | hostAllowディレクティブは特定のホストに対するアクセス許可を、Denyディレクティブはアクセス拒否を指定する場合に使用します。最初の引数は常にfromで、それに続く引数には以下の形式があります。
all 全てのホストに対するアクセスを表します。 host DNS名、IPアドレスまたはネットワークアドレス/サブネットなどの様々な指定方法があります。
Allow from httpd.apache.org ・・・・・ DNS名
Allow from apache.org ・・・・・ DNS名の一部
Allow from 192.168.11.1 ・・・・・ IPアドレス
Allow from 192.168.11 ・・・・・ IPアドレスの一部
Allow from 192.168.11.0/255.255.255.0 ・・・・・ ネットワークアドレス/サブネットマスク
Allow from 192.168.11.0/24 ・・・・・ ネットワークアドレス/CIDR形式より詳しい事は「Apache HTTP サーバ バージョン 2.4 ドキュメント
( http://httpd.apache.org/docs-2.4/ )」を参照して下さい。
apache/2.4/acd.txt · 最終更新: 2020/11/19 15:31 by y2sunlight
コメント