1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_access_compat - Apache HTTP サーバ</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
16 <p class="apache">Apache HTTP サーバ バージョン 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン
21 2.3</a> > <a href="./">モジュール</a></div>
22 <div id="page-content">
23 <div id="preamble"><h1>Apache モジュール mod_access_compat</h1>
25 <p><span>言語: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> |
26 <a href="../ja/mod/mod_access_compat.html" title="Japanese"> ja </a></p>
28 <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>ホスト (名前もしくは IP アドレス) に基づいたグループ承認</td></tr>
29 <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
30 <tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>access_compat_module</td></tr>
31 <tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_access_compat.c</td></tr>
32 <tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>Apache 2.3 (Apache 2.x の以前のバージョンとの互換性のためのモジュールとして)。
33 このモジュールで提供するディレクティブは、承認の仕組みの一新に伴い、非推奨になったものです。
34 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> も見てください。</td></tr></table>
37 <p><code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> により提供されるディレクティブは
39 アクセスを制御するために <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>
40 と <code><a href="core.html#accessfilename">.htaccess</a></code> ファイルで使用されます。クライアントのホスト名、IP
41 アドレスや、<a href="../env.html">環境変数</a>などのリクエストの特徴に基づいて
42 アクセス制御を行なうことができます。<code class="directive"><a href="#allow">Allow</a></code> と
43 <code class="directive"><a href="#deny">Deny</a></code> ディレクティブを使って、
46 <code class="directive"><a href="#order">Order</a></code> ディレクティブを使って、
48 <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと
49 <code class="directive"><a href="#deny">Deny</a></code>
50 ディレクティブとのお互いへの影響の仕方を設定します。
53 <p>ホストによるアクセス制限とパスワードによる認証を、
55 この場合、その二つの制限の関係を指定するために
56 <code class="directive"><a href="#satisfy">Satisfy</a></code>
59 <div class="warning"><h3>Note</h3>
60 <p><code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code>が提供するディレクティブは、
61 承認の仕組みの一新に伴い、非推奨になったものです。
62 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> も見てください。
63 デフォルトの承認の取り扱い機能を使用するために
64 <code class="module"><a href="../mod/mod_authz_default.html">mod_authz_default</a></code>
65 モジュールもロードされなければなりません。</p>
68 <p>一般的には、アクセス制限ディレクティブはすべてのアクセスメソッド
69 (<code>GET</code>, <code>PUT</code>, <code>POST</code> など)
70 に適用されます。そして、ほとんどの場合これが望ましい動作です。
71 しかし、<code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>
72 セクションの中にディレクティブを書くことで、
73 一部のメソッドにのみ制限をかけることもできます。</p>
75 <div id="quickview"><h3 class="directives">ディレクティブ</h3>
77 <li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
84 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
85 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
86 <li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li>
89 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
90 <div class="directive-section"><h2><a name="Allow" id="Allow">Allow</a> <a name="allow" id="allow">ディレクティブ</a></h2>
91 <table class="directive">
92 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバのある領域にアクセスできるホストを制御する</td></tr>
93 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Allow from all|<var>host</var>|env=<var>env-variable</var>
94 [<var>host</var>|env=<var>env-variable</var>] ...</code></td></tr>
95 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
96 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr>
97 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
98 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr>
100 <p><code class="directive">Allow</code> ディレクティブは、どのホストが
101 サーバのある領域にアクセスできるかに影響を与えます。
102 アクセスはホスト名、IP アドレス、IP アドレスの範囲や、
104 特徴に基づいてアクセス制御することができます。</p>
106 <p>このディレクティブの最初の引数は常に <code>from</code> です。
107 それに続く引数は三つの違った形式があります。<code>Allow from
108 all</code> が指定されていれば、すべてのホストにアクセスを許可し、
110 <code class="directive"><a href="#deny">Deny</a></code>
111 ディレクティブと <code class="directive"><a href="#order">Order</a></code>
113 特定のホストやホスト群にのみサーバへのアクセスを許可するためには、
114 以下のどれかの形式で <em>host</em> を指定することができます:</p>
120 <div class="example"><h3>例</h3><p><code>
121 Allow from apache.org<br />
122 Allow from .net example.edu
124 <p>この文字列に合うか、これで終わる名前のホストのアクセスが許可されます。
125 各部分が完全に合うものだけに適用されますので、上の例は
126 <code>foo.apache.org</code> にはマッチしますが、
127 <code>fooapache.org</code> にはマッチしません。
129 <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>
130 の設定に関わらず、クライアントの IP アドレスに対して
132 ホスト名からオリジナルの IP アドレスを順引きします。
133 順引きと逆引きが一致し、ホスト名が該当した場合にのみ、
134 アクセスが許可されます。</p></dd>
139 <div class="example"><h3>例</h3><p><code>
140 Allow from 10.1.2.3<br />
141 Allow from 192.168.1.104 192.168.1.205
143 <p>アクセスを許可する IP アドレスです。</p></dd>
148 <div class="example"><h3>例</h3><p><code>
149 Allow from 10.1<br />
150 Allow from 10 172.20 192.168.2
153 アドレスの最初の一つから三つまでのバイトです。</p></dd>
155 <dt>ネットワーク/ネットマスク の対</dt>
158 <div class="example"><h3>例</h3><p><code>
159 Allow from 10.1.0.0/255.255.0.0
161 <p>ネットワーク a.b.c.d とネットマスク w.x.y.z です。
162 より細粒度のサブネット制限用です。</p></dd>
164 <dt>ネットワーク/nnn CIDR 指定</dt>
167 <div class="example"><h3>例</h3><p><code>
168 Allow from 10.1.0.0/16
170 <p>ネットマスクが nnn の上位ビットが 1
171 となっているものからなること以外は前のものと同じです。</p></dd>
174 <p>注: 最後の三つの例はまったく同じホストに合います。</p>
177 <p>IPv6 アドレスと IPv6 のサブネットは以下のように指定できます:</p>
179 <div class="example"><p><code>
180 Allow from 2001:db8::a00:20ff:fea7:ccea<br />
181 Allow from 2001:db8::a00:20ff:fea7:ccea/10
184 <p><code class="directive">Allow</code> ディレクティブの引数の三つ目の形式は、
185 <a href="../env.html">環境変数</a>
186 の存在によりアクセスの制御を行なえるようにするものです。
187 <code>Allow from env=<var>env-variable</var></code>
188 が指定されていると、環境変数 <var>env-variable</var>
189 が存在した場合にリクエストはアクセスを許可されます。サーバは
190 <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>
191 のディレクティブにより、クライアントのリクエスト
192 の特徴に基づいて柔軟に環境変数を設定する機能を提供します。
193 ですから、このディレクティブはクライアントの
194 <code>User-Agent</code> (ブラウザの種類)、<code>Referer</code>
195 や他の HTTP リクエストのヘッダフィールドなどに基づいて
196 アクセス許可をするために使うことができます。
199 <div class="example"><h3>Example:</h3><p><code>
200 SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in<br />
201 <Directory /docroot><br />
202 <span class="indent">
203 Order Deny,Allow<br />
205 Allow from env=let_me_in<br />
210 <p>この場合、user-agent の文字列が <code>KnockKnock/2.0</code>
211 で始まるブラウザのみがアクセスが許可され、
212 他のものはアクセスが拒否されます。</p>
216 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
217 <div class="directive-section"><h2><a name="Deny" id="Deny">Deny</a> <a name="deny" id="deny">ディレクティブ</a></h2>
218 <table class="directive">
219 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがアクセスを拒否するホストを制御する</td></tr>
220 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Deny from all|<var>host</var>|env=<var>env-variable</var>
221 [<var>host</var>|env=<var>env-variable</var>] ...</code></td></tr>
222 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
223 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr>
224 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
225 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr>
228 アドレス、環境変数に基づいてサーバへのアクセスを制限します。
229 <code class="directive">Deny</code> ディレクティブの引数は <code class="directive"><a href="#allow">Allow</a></code>
230 ディレクティブとまったく同じです。</p>
233 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
234 <div class="directive-section"><h2><a name="Order" id="Order">Order</a> <a name="order" id="order">ディレクティブ</a></h2>
235 <table class="directive">
236 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>デフォルトのアクセス可能な状態と、<code class="directive">Allow</code> と
237 <code class="directive">Deny</code> が評価される順番を制御する</td></tr>
238 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Order <var>ordering</var></code></td></tr>
239 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Order Deny,Allow</code></td></tr>
240 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
241 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr>
242 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
243 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr>
246 <p><code class="directive">Order</code> ディレクティブは <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと<code class="directive"><a href="#deny">Deny</a></code> と共に"3段階アクセス制御システム"
247 を制御します。第1段階目では <code class="directive">Order</code> ディレクティブで1番目に
248 指定したディレクティブ(<code class="directive"><a href="#allow">Allow</a></code>
249 または <code class="directive"><a href="#deny">Deny</a></code>)を全て処理します。
250 第2段階目で、残りのディレクティブ(<code class="directive"><a href="#deny">Deny</a></code> または <code class="directive"><a href="#allow">Allow</a></code>)
251 を全て処理します。第3段階目で、第1段階目と第2段階目で
252 マッチしなかったリクエストを処理します。</p>
254 <p>全ての <code class="directive"><a href="#allow">Allow</a></code> と <code class="directive"><a href="#deny">Deny</a></code> が処理され、結局のところ最後にマッチ
255 した条件が有効となることに注意してください。これは最初にマッチした条件だけが有効
256 となる、典型的なファイアウォールの動作とは異なっています。
257 また、設定ファイルに書く順番には意味はありません。<code class="directive"><a href="#allow">Allow</a></code> 行は全部一つのグループとして扱われ、
258 <code class="directive"><a href="#deny">Deny</a></code> 行はもう一つのグループとみなされます。
259 またデフォルト状態は単独で一つのグループとみなされます。</p>
261 <p><em>Order</em> 設定は以下の以下のどれかです。</p>
264 <dt><code>Allow,Deny</code></dt>
266 <dd>まず <code class="directive"><a href="#allow">Allow</a></code>
267 ディレクティブが適用されます。どれにもマッチしなかった場合、この時点で
268 リクエストは拒否されます。次に、全ての <code class="directive"><a href="# deny">
269 Deny</a></code> ディレクティブが適用されます。どれか一つでもマッチした場合は、
271 最後に、 <code class="directive"><a href="#allow">Allow</a></code> にも <code class="directive"><a href="#deny">Deny</a></code> にもマッチしなかったリクエストは
272 デフォルト設定が適用されるので拒否されます。</dd>
274 <dt><code>Deny,Allow</code></dt>
276 <dd>まず <code class="directive"><a href="#deny">Deny</a></code>
277 ディレクティブが適用されます。どれか一つでもマッチした場合は、
278 <code class="directive"><a href="#allow">Allow</a></code> のどれにも
279 マッチ<strong>しなければ</strong>、アクセスは拒否されます。
280 どの <code class="directive"><a href="#allow">Allow</a></code> にも <code class="directive"><a href="#deny">Deny</a></code> にもマッチしないリクエストは
283 <dt><code>Mutual-failure</code></dt>
285 <dd>これは <code>Order Allow,Deny</code> と全く同じ効果を持ち、
290 <p>キーワードの間に置けるのはコンマだけです。
291 間に<em>空白があってはいけません</em>。</p>
293 <table class="bordered">
296 <th>Allow,Deny 時の結果</th>
297 <th>Deny,Allow 時の結果</th>
299 <th>Allow だけにマッチ</th>
308 <td>2番目のディレクティブがデフォルト: 拒否</td>
309 <td>2番目のディレクティブがデフォルト: 許可</td>
311 <th>Allow と Deny 両方にマッチ</th>
312 <td>最後にマッチしたほう: 拒否</td>
313 <td>最後にマッチしたほう: 許可</td>
318 ドメインのすべてのホストはアクセスを許可されます。
319 他のすべてのホストはアクセスを拒否されます。</p>
321 <div class="example"><p><code>
322 Order Deny,Allow<br />
324 Allow from apache.org
327 <p>次の例では、foo.apache.org サブドメインにあるホスト以外の、
328 apache.org ドメインのすべてのホストがアクセスを許可されます。
330 ドメインでないホストは、デフォルトの状態が <code class="directive"><a href="#deny">Deny</a></code> のため、
331 サーバへのアクセスを拒否されます。</p>
333 <div class="example"><p><code>
334 Order Allow,Deny<br />
335 Allow from apache.org<br />
336 Deny from foo.apache.org
339 <p>一方、上の例の <code class="directive">Order</code> が <code>Deny,Allow</code>
340 に変わっていれば、すべのホストにアクセスが許可されます。
341 これは、設定ファイル中の実際の順番に関わらず、
342 <code>Allow from apache.org</code> が最後に評価されて、
343 <code>Deny from foo.apache.org</code> を上書きするからです。
344 <code>apache.org</code>
345 ドメインにないホストも、デフォルトの状態が <code class="directive"><a href="#allow">Allow</a></code>
349 <p><code class="directive">Order</code>
350 ディレクティブはデフォルトのアクセスの状態に影響を与えるので、
351 <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> ディレクティブと
352 <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code>
353 ディレクティブが無くても、サーバのアクセスに影響を与えることができます。
356 <div class="example"><p><code>
357 <Directory /www><br />
358 <span class="indent">
359 Order Allow,Deny<br />
365 <code class="directive"><a href="#deny">Deny</a></code> になるため、
366 <code>/www</code> ディレクトリへのすべてのアクセスを拒否します。
369 <p><code class="directive">Order</code>
370 ディレクティブはサーバの設定処理の各段階でだけ
371 アクセスディレクティブの処理の順番を変更します。これは、たとえば、
372 <code class="directive">Order</code> ディレクティブの設定に関わらず、
373 <code class="directive"><a href="../mod/core.html#location"><Location></a></code> セクションの
374 <code class="directive"><a href="#allow">Allow</a></code> ディレクティブや
375 <code class="directive"><a href="#deny">Deny</a></code> ディレクティブは、
376 <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> セクションや
377 <code>.htaccess</code> ファイルの <code class="directive"><a href="#allow">Allow</a></code>
378 ディレクティブや <code class="directive"><a href="#deny">Deny</a></code>
379 ディレクティブよりも常に後に評価されるということを意味します。
381 <a href="../sections.html">Directory,Location, Files
382 セクションの動作方法</a> を参照してください。</p>
385 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
386 <div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">ディレクティブ</a></h2>
387 <table class="directive">
388 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ホストレベルのアクセス制御とユーザ認証との相互作用を指定</td></tr>
389 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Satisfy Any|All</code></td></tr>
390 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Satisfy All</code></td></tr>
391 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
392 <tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>AuthConfig</td></tr>
393 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
394 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access_compat</td></tr>
395 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>バージョン 2.0.51 以降では <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> ディレクティブと <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> ディレクティブの影響を受ける
398 <p><code class="directive"><a href="#allow">Allow</a></code> と
399 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> の両方が使われているときの
400 アクセスポリシーを設定します。パラメータは <code>All</code> か <code>Any</code>
401 です。このディレクティブはある場所へのアクセスがユーザ名/パスワード
402 <em>と</em>クライアントのホストのアドレスで制限されているときにのみ
403 役立ちます。デフォルトの動作 (<code>All</code>) はクライアントがアドレスによる
404 アクセス制限を満たし、<em>かつ</em>正しいユーザ名とパスワードを入力することを
405 要求します。<code>Any</code> では、クライアントはホストの制限を満たすか、
406 正しいユーザ名とパスワードの入力をするかをすればアクセスを許可されます。
407 これは、ある場所をパスワードで保護するけれど、特定のアドレスからの
408 クライアントにはパスワードの入力を要求せずにアクセスを許可する、
411 <p>例えば、同じネットワーク上にいる人にはウェブサイトのある部分について
412 無制限のアクセスを許したいけれど、外のネットワークの人には
413 パスワードを提供させるようにするためには、次のような設定をすることが
416 <div class="example"><p><code>
417 Require valid-user<br />
418 Allow from 192.168.1<br />
423 <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> セクションと
424 <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code> セクションを使用することで
425 <code class="directive">Satisfy</code> ディレクティブが
431 <li><code class="directive"><a href="#allow">Allow</a></code></li>
432 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
436 <div class="bottomlang">
437 <p><span>言語: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> |
438 <a href="../ja/mod/mod_access_compat.html" title="Japanese"> ja </a></p>
439 </div><div id="footer">
440 <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
441 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>