]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_access_compat.html.en
Adds the frequently-requested example of relaxing authentication for a
[apache] / docs / manual / mod / mod_access_compat.html.en
1 <?xml version="1.0" encoding="ISO-8859-1"?>
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="en" xml:lang="en"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_access_compat - Apache HTTP Server</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>
13 <body>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
16 <p class="apache">Apache HTTP Server Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache Module mod_access_compat</h1>
23 <div class="toplang">
24 <p><span>Available Languages: </span><a href="../en/mod/mod_access_compat.html" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
26 </div>
27 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group authorizations based on host (name or IP
28 address)</td></tr>
29 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
30 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>access_compat_module</td></tr>
31 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_access_compat.c</td></tr>
32 <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 as a compatibility module with 
33 previous versions of Apache 2.x.  The directives provided by this module
34 have been deprecated by the new authz refactoring.  Please see 
35 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td></tr></table>
36 <h3>Summary</h3>
37
38     <p>The directives provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> are
39     used in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>,
40     <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>, and
41     <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> sections
42     as well as <code><a href="core.html#accessfilename">.htaccess</a>
43     </code> files to control access to particular parts of the server.
44     Access can be controlled based on the client hostname, IP address, or
45     other characteristics of the client request, as captured in <a href="../env.html">environment variables</a>. The <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives are used to
46     specify which clients are or are not allowed access to the server,
47     while the <code class="directive"><a href="#order">Order</a></code>
48     directive sets the default access state, and configures how the
49     <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives interact with each
50     other.</p>
51
52     <p>Both host-based access restrictions and password-based
53     authentication may be implemented simultaneously. In that case,
54     the <code class="directive"><a href="#satisfy">Satisfy</a></code> directive is used
55     to determine how the two sets of restrictions interact.</p>
56
57     <div class="warning"><h3>Note</h3>
58       <p>The directives provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> have
59       been deprecated by the new authz refactoring. Please see 
60       <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
61     </div>
62
63     <p>In general, access restriction directives apply to all
64     access methods (<code>GET</code>, <code>PUT</code>,
65     <code>POST</code>, etc). This is the desired behavior in most
66     cases. However, it is possible to restrict some methods, while
67     leaving other methods unrestricted, by enclosing the directives
68     in a <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> section.</p>
69 </div>
70 <div id="quickview"><h3 class="directives">Directives</h3>
71 <ul id="toc">
72 <li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
76 </ul>
77 <h3>See also</h3>
78 <ul class="seealso">
79 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
80 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
81 <li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li>
82 </ul></div>
83
84 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
85 <div class="directive-section"><h2><a name="Allow" id="Allow">Allow</a> <a name="allow" id="allow">Directive</a></h2>
86 <table class="directive">
87 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts can access an area of the
88 server</td></tr>
89 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Allow from all|<var>host</var>|env=[!]<var>env-variable</var>
90 [<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr>
91 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
92 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr>
93 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
94 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
95 </table>
96     <p>The <code class="directive">Allow</code> directive affects which hosts can
97     access an area of the server. Access can be controlled by
98     hostname, IP address, IP address range, or by other
99     characteristics of the client request captured in environment
100     variables.</p>
101
102     <p>The first argument to this directive is always
103     <code>from</code>. The subsequent arguments can take three
104     different forms. If <code>Allow from all</code> is specified, then
105     all hosts are allowed access, subject to the configuration of the
106     <code class="directive"><a href="#deny">Deny</a></code> and <code class="directive"><a href="#order">Order</a></code> directives as discussed
107     below. To allow only particular hosts or groups of hosts to access
108     the server, the <em>host</em> can be specified in any of the
109     following formats:</p>
110
111     <dl>
112       <dt>A (partial) domain-name</dt>
113
114       <dd>
115       <div class="example"><h3>Example:</h3><p><code>
116         Allow from apache.org<br />
117         Allow from .net example.edu
118       </code></p></div>
119       <p>Hosts whose names match, or end in, this string are allowed
120       access. Only complete components are matched, so the above
121       example will match <code>foo.apache.org</code> but it will not
122       match <code>fooapache.org</code>. This configuration will cause
123       Apache to perform a double DNS lookup on the client IP
124       address, regardless of the setting of the <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> directive.  It will do
125       a reverse DNS lookup on the IP address to find the associated
126       hostname, and then do a forward lookup on the hostname to assure
127       that it matches the original IP address.  Only if the forward
128       and reverse DNS are consistent and the hostname matches will
129       access be allowed.</p></dd>
130
131       <dt>A full IP address</dt>
132
133       <dd>
134       <div class="example"><h3>Example:</h3><p><code>
135         Allow from 10.1.2.3<br />
136         Allow from 192.168.1.104 192.168.1.205
137       </code></p></div>
138       <p>An IP address of a host allowed access</p></dd>
139
140       <dt>A partial IP address</dt>
141
142       <dd>
143       <div class="example"><h3>Example:</h3><p><code>
144         Allow from 10.1<br />
145         Allow from 10 172.20 192.168.2
146       </code></p></div>
147       <p>The first 1 to 3 bytes of an IP address, for subnet
148       restriction.</p></dd>
149
150       <dt>A network/netmask pair</dt>
151
152       <dd>
153       <div class="example"><h3>Example:</h3><p><code>
154         Allow from 10.1.0.0/255.255.0.0
155       </code></p></div>
156       <p>A network a.b.c.d, and a netmask w.x.y.z. For more
157       fine-grained subnet restriction.</p></dd>
158
159       <dt>A network/nnn CIDR specification</dt>
160
161       <dd>
162       <div class="example"><h3>Example:</h3><p><code>
163         Allow from 10.1.0.0/16
164       </code></p></div>
165       <p>Similar to the previous case, except the netmask consists of
166       nnn high-order 1 bits.</p></dd>
167     </dl>
168
169     <p>Note that the last three examples above match exactly the
170     same set of hosts.</p>
171
172     <p>IPv6 addresses and IPv6 subnets can be specified as shown
173     below:</p>
174
175     <div class="example"><p><code>
176        Allow from 2001:db8::a00:20ff:fea7:ccea<br />
177        Allow from 2001:db8::a00:20ff:fea7:ccea/10
178     </code></p></div>
179
180     <p>The third format of the arguments to the
181     <code class="directive">Allow</code> directive allows access to the server
182     to be controlled based on the existence of an <a href="../env.html">environment variable</a>. When <code>Allow from
183     env=<var>env-variable</var></code> is specified, then the request is
184     allowed access if the environment variable <var>env-variable</var>
185     exists. When <code>Allow from env=!<var>env-variable</var></code> is 
186     specified, then the request is allowed access if the environment 
187     variable <var>env-variable</var> doesn't exist.
188     The server provides the ability to set environment
189     variables in a flexible way based on characteristics of the client
190     request using the directives provided by
191     <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Therefore, this directive can be
192     used to allow access based on such factors as the clients
193     <code>User-Agent</code> (browser type), <code>Referer</code>, or
194     other HTTP request header fields.</p>
195
196     <div class="example"><h3>Example:</h3><p><code>
197       SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in<br />
198       &lt;Directory /docroot&gt;<br />
199       <span class="indent">
200         Order Deny,Allow<br />
201         Deny from all<br />
202         Allow from env=let_me_in<br />
203       </span>
204       &lt;/Directory&gt;
205     </code></p></div>
206
207     <p>In this case, browsers with a user-agent string beginning
208     with <code>KnockKnock/2.0</code> will be allowed access, and all
209     others will be denied.</p>
210
211 </div>
212 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
213 <div class="directive-section"><h2><a name="Deny" id="Deny">Deny</a> <a name="deny" id="deny">Directive</a></h2>
214 <table class="directive">
215 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts are denied access to the
216 server</td></tr>
217 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Deny from all|<var>host</var>|env=[!]<var>env-variable</var>
218 [<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr>
219 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
220 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr>
221 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
222 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
223 </table>
224     <p>This directive allows access to the server to be restricted
225     based on hostname, IP address, or environment variables. The
226     arguments for the <code class="directive">Deny</code> directive are
227     identical to the arguments for the <code class="directive"><a href="#allow">Allow</a></code> directive.</p>
228
229 </div>
230 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
231 <div class="directive-section"><h2><a name="Order" id="Order">Order</a> <a name="order" id="order">Directive</a></h2>
232 <table class="directive">
233 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls the default access state and the order in which
234 <code class="directive">Allow</code> and <code class="directive">Deny</code> are
235 evaluated.</td></tr>
236 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Order <var>ordering</var></code></td></tr>
237 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Order Deny,Allow</code></td></tr>
238 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
239 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr>
240 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
241 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
242 </table>
243
244     <p>The <code class="directive">Order</code> directive, along with the
245     <code class="directive"><a href="#allow">Allow</a></code> and
246     <code class="directive"><a href="#deny">Deny</a></code> directives,
247     controls a three-pass access control system. The first pass
248     processes either all <code class="directive"><a href="#allow">Allow</a></code> or all <code class="directive"><a href="#deny">Deny</a></code> directives, as specified
249     by the <code class="directive"><a href="#order">Order</a></code>
250     directive. The second pass parses the rest of the directives
251     (<code class="directive"><a href="#deny">Deny</a></code> or
252     <code class="directive"><a href="#allow">Allow</a></code>). The third
253     pass applies to all requests which do not match either of the first
254     two.</p>
255
256     <p>Note that all <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives are
257     processed, unlike a typical firewall, where only the first match is
258     used. The last match is effective (also unlike a typical firewall).
259     Additionally, the order in which lines appear in the configuration
260     files is not significant -- all <code class="directive"><a href="#allow">Allow</a></code> lines are processed as
261     one group, all <code class="directive"><a href="#deny">Deny</a></code> lines are considered as
262     another, and the default state is considered by itself.</p>
263
264     <p><em>Ordering</em> is one of:</p>
265
266     <dl>
267       <dt><code>Allow,Deny</code></dt>
268
269       <dd>First, all <code class="directive"><a href="#allow">Allow</a></code> directives are
270       evaluated; at least one must match, or the request is rejected.
271       Next, all <code class="directive"><a href="#deny">Deny</a></code>
272       directives are evaluated. If any matches, the request is rejected.
273       Last, any requests which do not match an <code class="directive"><a href="#allow">Allow</a></code> or a <code class="directive"><a href="#deny">Deny</a></code> directive are denied
274       by default.</dd>
275
276       <dt><code>Deny,Allow</code></dt>
277
278       <dd>First, all <code class="directive"><a href="#deny">Deny</a></code> directives are
279       evaluated; if any match, the request is denied
280       <strong>unless</strong> it also matches an <code class="directive"><a href="#allow">Allow</a></code> directive. Any
281       requests which do not match any <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directives are
282       permitted.</dd>
283
284       <dt><code>Mutual-failure</code></dt>
285
286       <dd>This order has the same effect as <code>Order
287       Allow,Deny</code> and is deprecated in its favor.</dd>
288     </dl>
289
290     <p>Keywords may only be separated by a comma; <em>no whitespace</em>
291     is allowed between them.</p>
292
293     <table class="bordered">
294       <tr>
295         <th>Match</th>
296         <th>Allow,Deny result</th>
297         <th>Deny,Allow result</th>
298       </tr><tr>
299         <th>Match Allow only</th>
300         <td>Request allowed</td>
301         <td>Request allowed</td>
302       </tr><tr>
303         <th>Match Deny only</th>
304         <td>Request denied</td>
305         <td>Request denied</td>
306       </tr><tr>
307         <th>No match</th>
308         <td>Default to second directive: Denied</td>
309         <td>Default to second directive: Allowed</td>
310       </tr><tr>
311         <th>Match both Allow &amp; Deny</th>
312         <td>Final match controls: Denied</td>
313         <td>Final match controls: Allowed</td>
314       </tr>
315     </table>
316
317     <p>In the following example, all hosts in the apache.org domain
318     are allowed access; all other hosts are denied access.</p>
319
320     <div class="example"><p><code>
321       Order Deny,Allow<br />
322       Deny from all<br />
323       Allow from apache.org
324     </code></p></div>
325
326     <p>In the next example, all hosts in the apache.org domain are
327     allowed access, except for the hosts which are in the
328     foo.apache.org subdomain, who are denied access. All hosts not
329     in the apache.org domain are denied access because the default
330     state is to <code class="directive"><a href="#deny">Deny</a></code>
331     access to the server.</p>
332
333     <div class="example"><p><code>
334       Order Allow,Deny<br />
335       Allow from apache.org<br />
336       Deny from foo.apache.org
337     </code></p></div>
338
339     <p>On the other hand, if the <code class="directive">Order</code> in the
340     last example is changed to <code>Deny,Allow</code>, all hosts will
341     be allowed access. This happens because, regardless of the actual
342     ordering of the directives in the configuration file, the
343     <code>Allow from apache.org</code> will be evaluated last and will
344     override the <code>Deny from foo.apache.org</code>. All hosts not in
345     the <code>apache.org</code> domain will also be allowed access
346     because the default state is <code class="directive"><a href="#allow">Allow</a></code>.</p>
347
348     <p>The presence of an <code class="directive">Order</code> directive can
349     affect access to a part of the server even in the absence of
350     accompanying <code class="directive"><a href="#allow">Allow</a></code>
351     and <code class="directive"><a href="#deny">Deny</a></code>
352     directives because of its effect on the default access state. For
353     example,</p>
354
355     <div class="example"><p><code>
356       &lt;Directory /www&gt;<br />
357       <span class="indent">
358         Order Allow,Deny<br />
359       </span>
360       &lt;/Directory&gt;
361     </code></p></div>
362
363     <p>will Deny all access to the <code>/www</code> directory
364     because the default access state is set to
365     <code class="directive"><a href="#deny">Deny</a></code>.</p>
366
367     <p>The <code class="directive">Order</code> directive controls the order of access
368     directive processing only within each phase of the server's
369     configuration processing. This implies, for example, that an
370     <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directive occurring in a
371     <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section will
372     always be evaluated after an <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directive occurring in a
373     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section or
374     <code>.htaccess</code> file, regardless of the setting of the
375     <code class="directive">Order</code> directive. For details on the merging
376     of configuration sections, see the documentation on <a href="../sections.html">How Directory, Location and Files sections
377     work</a>.</p>
378
379 </div>
380 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
381 <div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">Directive</a></h2>
382 <table class="directive">
383 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction between host-level access control and
384 user authentication</td></tr>
385 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Satisfy Any|All</code></td></tr>
386 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Satisfy All</code></td></tr>
387 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
388 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
389 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
390 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
391 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Influenced by <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> and <code class="directive"><a href="../mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code> in version 2.0.51 and
392 later</td></tr>
393 </table>
394     <p>Access policy if both <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> used. The parameter can be
395     either <code>All</code> or <code>Any</code>. This directive is only
396     useful if access to a particular area is being restricted by both
397     username/password <em>and</em> client host address. In this case
398     the default behavior (<code>All</code>) is to require that the client
399     passes the address access restriction <em>and</em> enters a valid
400     username and password. With the <code>Any</code> option the client will be
401     granted access if they either pass the host restriction or enter a
402     valid username and password. This can be used to password restrict
403     an area, but to let clients from particular addresses in without
404     prompting for a password.</p>
405
406     <p>For example, if you wanted to let people on your network have
407     unrestricted access to a portion of your website, but require that
408     people outside of your network provide a password, you could use a
409     configuration similar to the following:</p>
410
411     <div class="example"><p><code>
412       Require valid-user<br />
413       Allow from 192.168.1<br />
414       Satisfy Any
415     </code></p></div>
416
417     <p>
418     Another frequent use of the <code class="directive">Satisfy</code> directive
419     is to relax access restrictions for a subdirectory:
420     </p>
421
422     <div class="example"><p><code>
423       &lt;Directory /var/www/private&gt;<br />
424         Require valid-user<br /> 
425       &lt;/Directory&gt;<br />
426       <br />
427       &lt;Directory /var/www/private/public&gt;<br />
428         Allow from all<br />
429         Satisfy Any<br />
430       &lt;/Directory&gt;
431     </code></p></div>
432
433     <p>In the above example, authentication will be required for the
434     <code>/var/www/private</code> directory, but will not be required
435     for the <code>/var/www/private/public</code> directory.</p>
436
437     <p>Since version 2.0.51 <code class="directive">Satisfy</code> directives can
438     be restricted to particular methods by <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> and <code class="directive"><a href="../mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code> sections.</p>
439
440 <h3>See also</h3>
441 <ul>
442 <li><code class="directive"><a href="#allow">Allow</a></code></li>
443 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
444 </ul>
445 </div>
446 </div>
447 <div class="bottomlang">
448 <p><span>Available Languages: </span><a href="../en/mod/mod_access_compat.html" title="English">&nbsp;en&nbsp;</a> |
449 <a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
450 </div><div id="footer">
451 <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>
452 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
453 </body></html>