mod_access_compat.xml.ja revision a04233acdb1e04b419f39ec633ea2d5dafca21d6
967e5f3c25249c779575864692935627004d3f9eChristian Maeder<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
81d182b21020b815887e9057959228546cf61b6bChristian Maeder<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
f11f713bebd8e1e623a0a4361065df256033de47Christian Maeder<!-- English Revision: 675568:926436 (outdated) -->
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder Licensed to the Apache Software Foundation (ASF) under one or more
967e5f3c25249c779575864692935627004d3f9eChristian Maeder contributor license agreements. See the NOTICE file distributed with
89054b2b95a3f92e78324dc852f3d34704e2ca49Christian Maeder this work for additional information regarding copyright ownership.
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder The ASF licenses this file to You under the Apache License, Version 2.0
717686b54b9650402e2ebfbaadf433eab8ba5171Christian Maeder (the "License"); you may not use this file except in compliance with
717686b54b9650402e2ebfbaadf433eab8ba5171Christian Maeder the License. You may obtain a copy of the License at
967e5f3c25249c779575864692935627004d3f9eChristian Maeder Unless required by applicable law or agreed to in writing, software
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder distributed under the License is distributed on an "AS IS" BASIS,
7221c71b38c871ce66eee4537cb681d468308dfbChristian Maeder WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder See the License for the specific language governing permissions and
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder limitations under the License.
8b9fda012e5ee53b7b2320c0638896a0ff6e99f3Christian Maeder<modulesynopsis metafile="mod_access_compat.xml.meta">
e1839fb37a3a2ccd457464cb0dcc5efd466dbe22Christian Maeder<description>ホスト (名前もしくは IP アドレス) に基づいたグループ承認</description>
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder<sourcefile>mod_access_compat.c</sourcefile>
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder<identifier>access_compat_module</identifier>
967e5f3c25249c779575864692935627004d3f9eChristian Maeder<compatibility>Apache 2.3 (Apache 2.x の以前のバージョンとの互換性のためのモジュールとして)。
8e9c3881fb6e710b1e08bf5ac8ff9d393df2e74eChristian Maederこのモジュールで提供するディレクティブは、承認の仕組みの一新に伴い、非推奨になったものです。
78eeae099616e255ccf2e5f9122387bb10c68338Christian Maeder<module>mod_authz_host</module> も見てください。</compatibility>
fd896e2068ad7e50aed66ac18c3720ea7ff2619fChristian Maeder <p><module>mod_access_compat</module> により提供されるディレクティブは
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder アクセスを制御するために <directive module="core" type="section"
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder >Directory</directive>, <directive module="core"
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder type="section">Files</directive>, <directive module="core"
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder と <code><a href="core.html#accessfilename">.htaccess</a
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder ></code> ファイルで使用されます。クライアントのホスト名、IP
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder >などのリクエストの特徴に基づいて
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder アクセス制御を行なうことができます。<directive
51fb5d7edd9369c367dda2f8b15ddd6f8a146606Christian Maeder module="mod_access_compat">Allow</directive> と
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder <directive module="mod_access_compat">Deny</directive> ディレクティブを使って、
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder どのようなクライアントにアクセスを
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder 許可する、しないを指定します。また
51fb5d7edd9369c367dda2f8b15ddd6f8a146606Christian Maeder <directive module="mod_access_compat">Order</directive> ディレクティブを使って、
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder デフォルトのアクセス状態と、
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder <directive module="mod_access_compat">Allow</directive> ディレクティブと
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder <directive module="mod_access_compat">Deny</directive>
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder ディレクティブとのお互いへの影響の仕方を設定します。
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder <p>ホストによるアクセス制限とパスワードによる認証を、
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder 同時に組み合わせて使うこともできます。
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder この場合、その二つの制限の関係を指定するために
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder <directive module="mod_access_compat">Satisfy</directive>
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder ディレクティブを使用します。</p>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder <p><module>mod_access_compat</module>が提供するディレクティブは、
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder 承認の仕組みの一新に伴い、非推奨になったものです。
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder デフォルトの承認の取り扱い機能を使用するために
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder モジュールもロードされなければなりません。</p>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder <p>一般的には、アクセス制限ディレクティブはすべてのアクセスメソッド
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder (<code>GET</code>, <code>PUT</code>, <code>POST</code> など)
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder に適用されます。そして、ほとんどの場合これが望ましい動作です。
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder しかし、<directive module="core" type="section">Limit</directive>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder セクションの中にディレクティブを書くことで、
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder 一部のメソッドにのみ制限をかけることもできます。</p>
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder<seealso><directive module="mod_authz_core">Require</directive></seealso>
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder<seealso><module>mod_authz_host</module></seealso>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder<seealso><module>mod_authz_core</module></seealso>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder<directivesynopsis>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder<description>サーバのある領域にアクセスできるホストを制御する</description>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder<syntax> Allow from all|<var>host</var>|env=[!]<var>env-variable</var>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder[<var>host</var>|env=[!]<var>env-variable</var>] ...</syntax>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder<contextlist><context>directory</context><context>.htaccess</context>
a89389521ddf76109168a0b339031575aafbd512Christian Maeder</contextlist>
9b30898b139ee02f97ac933b6d935ef0a4206921Christian Maeder <p><directive>Allow</directive> ディレクティブは、どのホストが
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder サーバのある領域にアクセスできるかに影響を与えます。
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder アクセスはホスト名、IP アドレス、IP アドレスの範囲や、
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder 環境変数などのクライアントのリクエストの
51fb5d7edd9369c367dda2f8b15ddd6f8a146606Christian Maeder 特徴に基づいてアクセス制御することができます。</p>
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder <p>このディレクティブの最初の引数は常に <code>from</code> です。
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder それに続く引数は三つの違った形式があります。<code>Allow from
51fb5d7edd9369c367dda2f8b15ddd6f8a146606Christian Maeder all</code> が指定されていれば、すべてのホストにアクセスを許可し、
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder アクセス制限は下で説明されているように、
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder <directive module="mod_access_compat">Deny</directive>
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder ディレクティブと <directive module="mod_access_compat">Order</directive>
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder ディレクティブの設定で決まります。
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder 特定のホストやホスト群にのみサーバへのアクセスを許可するためには、
67086e0fe40a985c5e8a3cf50e611f43234580c2Christian Maeder Allow from .net example.edu
67d92da5e9610aabad39055a16031154b4dc3748Christian Maeder <p>この文字列に合うか、これで終わる名前のホストのアクセスが許可されます。
ee93fb771fcf3000d73c8e2f2000adb4b9a5158cChristian Maeder 各部分が完全に合うものだけに適用されますので、上の例は
717686b54b9650402e2ebfbaadf433eab8ba5171Christian Maeder この設定をすると、Apache は
717686b54b9650402e2ebfbaadf433eab8ba5171Christian Maeder <directive module="core">HostnameLookups</directive>
d48085f765fca838c1d972d2123601997174583dChristian Maeder の設定に関わらず、クライアントの IP アドレスに対して
d48085f765fca838c1d972d2123601997174583dChristian Maeder DNS の 2 重逆引きを行ないます。
717686b54b9650402e2ebfbaadf433eab8ba5171Christian Maeder ホスト名からオリジナルの IP アドレスを順引きします。
d48085f765fca838c1d972d2123601997174583dChristian Maeder 順引きと逆引きが一致し、ホスト名が該当した場合にのみ、
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder Allow from 10.1.2.3<br />
9b30898b139ee02f97ac933b6d935ef0a4206921Christian Maeder Allow from 192.168.1.104 192.168.1.205
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder Allow from 10.1<br />
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder Allow from 10 172.20 192.168.2
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder <p>サブネットの制限用の、IP
81d182b21020b815887e9057959228546cf61b6bChristian Maeder <p>ネットマスクが nnn の上位ビットが 1
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder <p>IPv6 アドレスと IPv6 のサブネットは以下のように指定できます:</p>
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder Allow from 2001:db8::a00:20ff:fea7:ccea<br />
d769b9ca726a9b50d661847c0e58c41d6ef334b4Christian Maeder <p><directive>Allow</directive> ディレクティブの引数の三つ目の形式は、
ad187062b0009820118c1b773a232e29b879a2faChristian Maeder の存在によりアクセスの制御を行なえるようにするものです。
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder <code>Allow from env=<var>env-variable</var></code>
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder が存在した場合にリクエストはアクセスを許可されます。
dedabc954aa15f6ad0764472a9434dc6dafe3db2Christian Maeder <code>Allow from env=!<var>env-variable</var></code>
588c0c022a0f4e129a89c3bc569daf6a835e182dChristian Maeder が存在しない場合にアクセス許可されます。
588c0c022a0f4e129a89c3bc569daf6a835e182dChristian Maeder のディレクティブにより、クライアントのリクエスト
842eedc62639561781b6c33533d1949693ef6cc5Christian Maeder の特徴に基づいて柔軟に環境変数を設定する機能を提供します。
bfa9e03532243ceb487f0384d0f6a447f1ce7670Till Mossakowski ですから、このディレクティブはクライアントの
967e5f3c25249c779575864692935627004d3f9eChristian Maeder <code>User-Agent</code> (ブラウザの種類)、<code>Referer</code>
967e5f3c25249c779575864692935627004d3f9eChristian Maeder や他の HTTP リクエストのヘッダフィールドなどに基づいて
f2ee9fc53048ea92bad79e3f5d292d83efd7f8beMihai Codescu アクセス許可をするために使うことができます。
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in<br />
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder <Directory /docroot><br />
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder Order Deny,Allow<br />
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder Deny from all<br />
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder Allow from env=let_me_in<br />
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder </Directory>
967e5f3c25249c779575864692935627004d3f9eChristian Maeder <p>この場合、user-agent の文字列が <code>KnockKnock/2.0</code>
967e5f3c25249c779575864692935627004d3f9eChristian Maeder で始まるブラウザのみがアクセスが許可され、
ad187062b0009820118c1b773a232e29b879a2faChristian Maeder 他のものはアクセスが拒否されます。</p>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder</directivesynopsis>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder<directivesynopsis>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder<description>サーバがアクセスを拒否するホストを制御する</description>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder<syntax> Deny from all|<var>host</var>|env=[!]<var>env-variable</var>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder[<var>host</var>|env=[!]<var>env-variable</var>] ...</syntax>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder<contextlist><context>directory</context><context>.htaccess</context>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder</contextlist>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder <p>このディレクティブはホスト名、IP
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder アドレス、環境変数に基づいてサーバへのアクセスを制限します。
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder <directive>Deny</directive> ディレクティブの引数は <directive
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder module="mod_access_compat">Allow</directive>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder ディレクティブとまったく同じです。</p>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder</directivesynopsis>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder<directivesynopsis>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder<description>デフォルトのアクセス可能な状態と、<directive>Allow</directive> と
ad187062b0009820118c1b773a232e29b879a2faChristian Maeder<directive>Deny</directive> が評価される順番を制御する</description>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder<contextlist><context>directory</context><context>.htaccess</context>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder</contextlist>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder <p><directive>Order</directive> ディレクティブは <directive
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder module="mod_access_compat">Allow</directive> ディレクティブと<directive
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder module="mod_access_compat">Deny</directive> と共に"3段階アクセス制御システム"
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder を制御します。第1段階目では <directive>Order</directive> ディレクティブで1番目に
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder 指定したディレクティブ(<directive module="mod_access_compat">Allow</directive>
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder または <directive module="mod_access_compat">Deny</directive>)を全て処理します。
9659c509ce5e78adc51d7b02a76274eddcba9338Christian Maeder 第2段階目で、残りのディレクティブ(<directive
9659c509ce5e78adc51d7b02a76274eddcba9338Christian Maeder module="mod_access_compat">Deny</directive> または <directive
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder module="mod_access_compat">Allow</directive>)
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder を全て処理します。第3段階目で、第1段階目と第2段階目で
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder マッチしなかったリクエストを処理します。</p>
9659c509ce5e78adc51d7b02a76274eddcba9338Christian Maeder <p>全ての <directive module="mod_access_compat">Allow</directive> と <directive
9659c509ce5e78adc51d7b02a76274eddcba9338Christian Maeder module="mod_access_compat">Deny</directive> が処理され、結局のところ最後にマッチ
551af0e4ba6d96bb24f3555f3b30ed648e22e34aChristian Maeder した条件が有効となることに注意してください。これは最初にマッチした条件だけが有効
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder となる、典型的なファイアウォールの動作とは異なっています。
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder また、設定ファイルに書く順番には意味はありません。<directive
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder module="mod_access_compat">Allow</directive> 行は全部一つのグループとして扱われ、
a95f5379cabb30d3beb0545002cf50e9e4fc2c86Christian Maeder <directive module="mod_access_compat">Deny</directive> 行はもう一つのグループとみなされます。
83814002b4922114cbe7e9ba728472a0bf44aac5Christian Maeder またデフォルト状態は単独で一つのグループとみなされます。</p>
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder <dd>まず <directive module="mod_access_compat">Allow</directive>
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder ディレクティブが適用されます。どれにもマッチしなかった場合、この時点で
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder リクエストは拒否されます。次に、全ての <directive module="mod_access_compat">
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder Deny</directive> ディレクティブが適用されます。どれか一つでもマッチした場合は、
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder リクエストは拒否されます。
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder 最後に、 <directive module="mod_access_compat">Allow</directive> にも <directive
588c0c022a0f4e129a89c3bc569daf6a835e182dChristian Maeder module="mod_access_compat">Deny</directive> にもマッチしなかったリクエストは
b66eb6038bfbcd2fe520d87c151bb4f1f510e985Christian Maeder デフォルト設定が適用されるので拒否されます。</dd>
dedabc954aa15f6ad0764472a9434dc6dafe3db2Christian Maeder <dd>まず <directive module="mod_access_compat">Deny</directive>
ad187062b0009820118c1b773a232e29b879a2faChristian Maeder ディレクティブが適用されます。どれか一つでもマッチした場合は、
ad187062b0009820118c1b773a232e29b879a2faChristian Maeder <directive module="mod_access_compat">Allow</directive> のどれにも
1a75698c909ad515d59c76e65bd783f015c21c4dChristian Maeder どの <directive module="mod_access_compat">Allow</directive> にも <directive
588c0c022a0f4e129a89c3bc569daf6a835e182dChristian Maeder module="mod_access_compat">Deny</directive> にもマッチしないリクエストは
Allow from apache.org
apache.org ドメインのすべてのホストがアクセスを許可されます。
Deny from foo.apache.org