]> granicus.if.org Git - apache/commitdiff
My last effort was a little too succinct and not quite precise
authorJoshua Slive <slive@apache.org>
Sun, 20 Aug 2006 19:46:24 +0000 (19:46 +0000)
committerJoshua Slive <slive@apache.org>
Sun, 20 Aug 2006 19:46:24 +0000 (19:46 +0000)
enough.  Try being more explicit.

This does leave the danger that people will clip the <Location>
example as the proper way to do things, when they should be
reading on to the <Directory> example.  The <Location> example
is only correct when used in conjunction with Alias.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@433021 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_alias.html.en
docs/manual/mod/mod_alias.xml

index 948881a474c9b3e7778ebc6521fc777364cedead..099c89505948eb48bd74d135c10a702aefc92e55 100644 (file)
@@ -366,15 +366,15 @@ target as a CGI script</td></tr>
     is essentially equivalent to:</p>
     <div class="example"><p><code>
       Alias /cgi-bin/ /web/cgi-bin/<br />
-      &lt;Directory /web/cgi-bin &gt;<br />
+      &lt;Location /cgi-bin &gt;<br />
       <span class="indent">
       SetHandler cgi-script<br />
       Options +ExecCGI<br />
       </span>
-      &lt;/Directory&gt;
+      &lt;/Location&gt;
     </code></p></div>
 
-    <div class="note">It is safer to avoid placing CGI scripts under the
+    <div class="warning">It is safer to avoid placing CGI scripts under the
     <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> in order to
     avoid accidentally revealing their source code if the
     configuration is ever changed.  The
@@ -382,8 +382,20 @@ target as a CGI script</td></tr>
     URL and designating CGI scripts at the same time.  If you do
     choose to place your CGI scripts in a directory already
     accessible from the web, do not use
-    <code class="directive">ScriptAlias</code>.  Instead, use <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, and <code class="directive"><a href="../mod/core.html#options">Options</a></code> as shown in the second example
-    above.</div>
+    <code class="directive">ScriptAlias</code>.  Instead, use <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, and <code class="directive"><a href="../mod/core.html#options">Options</a></code> as in:
+    <div class="example"><p><code>
+      &lt;Directory /usr/local/apache2/htdocs/cgi-bin &gt;<br />
+      <span class="indent">
+      SetHandler cgi-script<br />
+      Options ExecCGI<br />
+      </span>
+      &lt;/Directory&gt;
+    </code></p></div>
+    This is necessary since multiple <var>URL-paths</var> can map
+    to the same filesystem location, potentially bypassing the
+    <code class="directive">ScriptAlias</code> and revealing the source code
+    of the CGI scripts if they are not restricted by a 
+    <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> section.</div>
 
 
 <h3>See also</h3>
index ddf82f807bf3e2211f752281ac987d6d66357587..db12c55f2f71c8b86c3f467e51b54439103c5a1f 100644 (file)
@@ -361,15 +361,15 @@ target as a CGI script</description>
     is essentially equivalent to:</p>
     <example>
       Alias /cgi-bin/ /web/cgi-bin/<br />
-      &lt;Directory /web/cgi-bin &gt;<br />
+      &lt;Location /cgi-bin &gt;<br />
       <indent>
       SetHandler cgi-script<br />
       Options +ExecCGI<br />
       </indent>
-      &lt;/Directory&gt;
+      &lt;/Location&gt;
     </example>
 
-    <note>It is safer to avoid placing CGI scripts under the
+    <note type="warning">It is safer to avoid placing CGI scripts under the
     <directive module="core">DocumentRoot</directive> in order to
     avoid accidentally revealing their source code if the
     configuration is ever changed.  The
@@ -380,8 +380,20 @@ target as a CGI script</description>
     <directive>ScriptAlias</directive>.  Instead, use <directive
     module="core" type="section">Directory</directive>, <directive
     module="core">SetHandler</directive>, and <directive
-    module="core">Options</directive> as shown in the second example
-    above.</note>
+    module="core">Options</directive> as in:
+    <example>
+      &lt;Directory /usr/local/apache2/htdocs/cgi-bin &gt;<br />
+      <indent>
+      SetHandler cgi-script<br />
+      Options ExecCGI<br />
+      </indent>
+      &lt;/Directory&gt;
+    </example>
+    This is necessary since multiple <var>URL-paths</var> can map
+    to the same filesystem location, potentially bypassing the
+    <directive>ScriptAlias</directive> and revealing the source code
+    of the CGI scripts if they are not restricted by a 
+    <directive module="core">Directory</directive> section.</note>
 
 </usage>
 <seealso><a href="../howto/cgi.html">CGI Tutorial</a></seealso>