summaryrefslogtreecommitdiffstats
path: root/rubbos/app/apache2/manual/mod/mod_access.html.ja.utf8
blob: a07f6ed622767855012a9fd2242dcb2e36f9988c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_access - Apache HTTP サーバ</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Apache HTTP サーバ バージョン 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">バージョン 2.0</a> &gt; <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache モジュール mod_access</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_access.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_access.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
            English version for recent changes.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>クライアントのホスト名、IP アドレス、その他のクライアント
のリクエストの特徴に基づいたアクセス制御機能を提供する</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>access_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_access.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td>2.1 より前のバージョンのみで使用可能</td></tr></table>
<h3>概要</h3>

    <p><code class="module"><a href="../mod/mod_access.html">mod_access</a></code> により提供されるディレクティブはサーバの特定の部分への
    アクセスを制御するために <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>, <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
    と <code><a href="core.html#accessfilename">.htaccess</a></code> ファイルで使用されます。クライアントのホスト名、IP
    アドレスや <a href="../env.html">環境変数</a>として取得された、その他のリクエストの特徴に基づいて
    アクセス制御を行なうことができます。<code class="directive"><a href="#allow">Allow</a></code> と
    <code class="directive"><a href="#deny">Deny</a></code> ディレクティブは
    どのようなクライアントにアクセスを
    許可する、しないかを指定するために使用されます。一方、
    <code class="directive"><a href="#order">Order</a></code> ディレクティブは
    デフォルトのアクセス状態と、
    <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと
    <code class="directive"><a href="#deny">Deny</a></code>
    ディレクティブとのお互いへの影響の仕方を設定します。
    </p>

    <p>ホストによるアクセス制限とパスワードによる認証を同時に
    行なうことが可能です。その場合、その二つの制限の関係を指定するために
    <code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code>
    ディレクティブを使用します。</p>

    <p>一般的には、アクセス制限ディレクティブはすべてのアクセスメソッド
    (<code>GET</code>, <code>PUT</code>, <code>POST</code> など)
    に適用されます。そして、ほとんどの場合これが望ましい動作です。
    しかし、<code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code>
    セクションの中にディレクティブを書くことで、
    一部のメソッドにのみ制限をかけることもできます。</p>
</div>
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li>
</ul>
<h3>参照</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#satisfy">Satisfy</a></code></li>
<li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li>
</ul></div>

<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Allow" id="Allow">Allow</a> <a name="allow" id="allow">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバのある領域にアクセスできるホストを制御する</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Allow from
    all|<var>host</var>|env=<var>env-variable</var>
    [<var>host</var>|env=<var>env-variable</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access</td></tr>
</table>

    <p><code class="directive">Allow</code> ディレクティブはどのホストが
    サーバのある領域をアクセスできるかに影響を与えます。
    アクセスはホスト名、IP アドレス、IP アドレスの範囲や、
    環境変数として取得された、その他のクライアントのリクエストの
    特徴によって制御することができます。</p> 

    <p>このディレクティブの最初の引数は常に <code>from</code> です。
    それに続く引数は三つの違った形式があります。<code>Allow from
    all</code> が指定されていれば、すべてのホストにアクセスを許可し、
    アクセス制限は下で説明されているように、
    <code class="directive"><a href="#deny">Deny</a></code>
    ディレクティブと <code class="directive"><a href="#order">Order</a></code>
    ディレクティブの設定で決まります。
    特定のホストやホスト群にのみサーバへのアクセスを許可するためには、
    以下のどれかの形式で <var>host</var> を指定することができます:</p>

    <dl>
      <dt>ドメイン名 (の一部)</dt>

      <dd>
      <div class="example"><h3>例:</h3><p><code>
        Allow from apache.org
      </code></p></div>
      <p>この文字列に合うか、これで終わる名前のホストのアクセスが許可されます。
      各部分が完全に合うものだけに適用されますので、上の例は
      <code>foo.apache.org</code> にはマッチしますが、
      <code>fooapache.org</code> にはマッチしません。
      この設定をすると、Apache は
      <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>
      の設定に関わらず、クライアントの IP アドレスに対して
      二重の DNS の逆引きを行ないます。まず IP アドレスに対して DNS の
      逆引きを行なってホスト名を得、そのホスト名に対して正引きを
      行ない、元の IP アドレスと一致するかを調べます。DNS の正引きと
      逆引きが無矛盾かつホスト名が一致するときにのみ
      アクセスが許可されます。</p></dd>

      <dt>完全な IP アドレス</dt>

      <dd>
      <div class="example"><h3>例:</h3><p><code>
        Allow from 10.1.2.3
      </code></p></div>
      <p>アクセスを許可する IP アドレスです。</p></dd>

      <dt>IP アドレスの一部</dt>

      <dd>
      <div class="example"><h3>例:</h3><p><code>
        Allow from 10.1
      </code></p></div>
      <p>サブネットの制限用の、IP
      アドレスの最初の一つから三つまでのバイトです。</p></dd>

      <dt>ネットワーク/ネットマスク の対</dt>

      <dd>
      <div class="example"><h3>例:</h3><p><code>
        Allow from 10.1.0.0/255.255.0.0
      </code></p></div>
      <p>ネットワーク a.b.c.d とネットマスク w.x.y.z です。
      より細粒度のサブネット制限用です。</p></dd>

      <dt>ネットワーク/nnn CIDR 指定</dt>

      <dd>
      <div class="example"><h3>例:</h3><p><code>
        Allow from 10.1.0.0/16
      </code></p></div>
      <p>ネットマスクが nnn の上位ビットが 1
      となっているものからなること以外は前のものと同じです。</p></dd>
    </dl>

    <p>注: 最後の三つの例はまったく同じホストに合います。</p>


    <p>IPv6 アドレスと IPv6 のサブネットは以下のように指定できます:</p>

    <div class="example"><p><code>
       Allow from 2001:db8::a00:20ff:fea7:ccea<br />
       Allow from 2001:db8::a00:20ff:fea7:ccea/10
    </code></p></div>

    <p><code class="directive">Allow</code> ディレクティブの引数の三つ目の形式は、
    <a href="../env.html">環境変数</a>
    の存在によりアクセスの制御を行なえるようにするものです。
    <code>Allow from env=<var>env-variable</var></code>
    が指定されていると、環境変数 <var>env-variable</var>
    が存在した場合にリクエストはアクセスを許可されます。サーバは
    <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>
    のディレクティブにより、クライアントのリクエスト
    の特徴に基づいて柔軟に環境変数を設定する機能を提供します。
    ですから、このディレクティブはクライアントの
    <code>User-Agent</code> (ブラウザの種類)、<code>Referer</code>
    や他の HTTP リクエストのヘッダフィールドなどに基づいて
    アクセス許可をするために使うことができます。
    </p>

    <div class="example"><h3>例:</h3><p><code>
      SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in<br />
      &lt;Directory /docroot&gt;<br />
      <span class="indent">
        Order Deny,Allow<br />
        Deny from all<br />
        Allow from env=let_me_in<br />
      </span>
      &lt;/Directory&gt;
    </code></p></div>

    <p>この場合、user-agent の文字列が <code>KnockKnock/2.0</code>
    で始まるブラウザのみがアクセスを許可され、
    他のものはアクセスを拒否されます。</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Deny" id="Deny">Deny</a> <a name="deny" id="deny">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバがアクセスを拒否するホストを制御する</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Deny from
    all|<var>host</var>|env=<var>env-variable</var>
    [<var>host</var>|env=<var>env-variable</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access</td></tr>
</table>
    <p>このディレクティブはホスト名、IP
    アドレス、環境変数に基づいてサーバへのアクセスを制限します。
    <code class="directive">Deny</code> ディレクティブの引数は <code class="directive"><a href="#allow">Allow</a></code>
    ディレクティブとまったく同じです。</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Order" id="Order">Order</a> <a name="order" id="order">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>デフォルトのアクセス可能な状態と、<code class="directive">Allow</code> と
<code class="directive">Deny</code> が評価される順番を制御する</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code> Order <var>ordering</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Order Deny,Allow</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>Limit</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_access</td></tr>
</table>

    <p><code class="directive">Order</code> ディレクティブはデフォルトのアクセスの状態と
    <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと
    <code class="directive"><a href="#deny">Deny</a></code>
    ディレクティブが評価される順番を制御します。
    <var>Ordering</var> は以下のどれかです。</p>

    <dl>
      <dt><code>Deny,Allow</code></dt>

      <dd><code class="directive"><a href="#deny">Deny</a></code> ディレクティブが
      <code class="directive"><a href="#allow">Allow</a></code>
      ディレクティブの前に評価されます。
      アクセスはデフォルトで許可されます。<code class="directive"><a href="#deny">Deny</a></code>
      ディレクティブに合わないか、<code class="directive"><a href="#allow">Allow</a></code>
      ディレクティブに合うクライアントはアクセスを許可されます。</dd>

      <dt><code>Allow,Deny</code></dt>

      <dd><code class="directive"><a href="#allow">Allow</a></code>
      ディレクティブが <code class="directive"><a href="#deny">Deny</a></code>
      ディレクティブの前に評価されます。
      アクセスはデフォルトで拒否されます。<code class="directive"><a href="#allow">Allow</a></code>
      ディレクティブに合わないか、<code class="directive"><a href="#deny">Deny</a></code>
      ディレクティブに合うクライアントはアクセスを拒否されます。
      </dd>

      <dt><code>Mutual-failure</code></dt>

      <dd><code class="directive"><a href="#allow">Allow</a></code> のリストに現れて、
      <code class="directive"><a href="#deny">Deny</a></code>
      のリストに現れないホストのみがアクセスを許可されます。
      この順番付けは <code>Order Allow,Deny</code> と同じ効果を持ち、
      その設定の方が好ましいために非推奨となっています。</dd>
    </dl>

    <p>キーワードはコンマで分離することだけが可能です。
    間に<em>空白があってはいけません</em>。どの場合でも、<code class="directive"><a href="#allow">Allow</a></code> と
    <code class="directive"><a href="#deny">Deny</a></code> 文は
    全て評価されるということに注意してください。
    </p>

    <p>以下の例では、apache.org
    ドメインのすべてのホストはアクセスを許可されます。
    他のすべてのホストはアクセスを拒否されます。</p>

    <div class="example"><p><code>
      Order Deny,Allow<br />
      Deny from all<br />
      Allow from apache.org
    </code></p></div>

    <p>次の例では、foo.apache.org サブドメインにあるホスト以外の、
    apache.org ドメインのすべてのホストがアクセスを許可されます。
    apache.org
    ドメインでないホストは、デフォルトの状態がアクセス拒否のため、
    サーバへのアクセスを拒否されます。</p>

    <div class="example"><p><code>
      Order Allow,Deny<br />
      Allow from apache.org<br />
      Deny from foo.apache.org
    </code></p></div>

    <p>一方、上の例の <code class="directive">Order</code> が <code>Deny,Allow</code>
    に変わっていれば、すべのホストにアクセスが許可されます。
    これは、設定ファイル中の実際の順番に関わらず、
    <code>Allow from apache.org</code> が最後に評価されて、
    <code>Deny from foo.apache.org</code> を上書きするからです。
    <code>apache.org</code>
    ドメインにないホストも、デフォルトの状態が <var>allow</var>
    に変化するために、アクセスを許可されます。
    </p>

    <p><code class="directive">Order</code>
    ディレクティブはデフォルトのアクセスの状態に影響を与えるので、
    <code class="directive"><a href="#allow">Allow</a></code> ディレクティブと
    <code class="directive"><a href="#deny">Deny</a></code>
    ディレクティブが無くても、サーバのアクセスに影響を与えることができます。
    たとえば、</p>

    <div class="example"><p><code>
      &lt;Directory /www&gt;<br />
      <span class="indent">
        Order Allow,Deny<br />
      </span>
      &lt;/Directory&gt;
    </code></p></div>

    <p>はデフォルトのアクセス状態が <var>deny</var> になるため、
    <code>/www</code> ディレクトリへのすべてのアクセスを拒否します。
    </p>

    <p><code class="directive">Order</code>
    ディレクティブはサーバの設定処理の各段階でだけ
    アクセスディレクティブの処理の順番を変更します。これは、たとえば、
    <code class="directive">Order</code> ディレクティブの設定に関わらず、
    <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> セクションの
    <code class="directive"><a href="#allow">Allow</a></code> ディレクティブや
    <code class="directive"><a href="#deny">Deny</a></code> ディレクティブは、
    <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> セクションや
    <code>.htaccess</code> ファイルの <code class="directive"><a href="#allow">Allow</a></code>
    ディレクティブや <code class="directive"><a href="#deny">Deny</a></code>
    ディレクティブよりも常に後に評価されるということを意味します。
    設定セクションのマージの詳細については、
    <a href="../sections.html">Directory,Location, Files
    セクションの動作方法</a> を参照してください。</p>

</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_access.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_access.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 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>
<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>
</body></html>