]> granicus.if.org Git - apache/commitdiff
Document the mod_cache / mod_authz_host problem.
authorColm MacCarthaigh <colm@apache.org>
Sat, 29 Oct 2005 10:07:01 +0000 (10:07 +0000)
committerColm MacCarthaigh <colm@apache.org>
Sat, 29 Oct 2005 10:07:01 +0000 (10:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@329388 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/caching.xml
docs/manual/mod/mod_cache.xml

index 2ac84e8f92967547a769c3a114556d81b1d80cc7..f97d48b15e6971f553a2047de03e6dcf7b9bf816 100644 (file)
@@ -318,6 +318,31 @@ Vary: negotiate,accept-language,accept-charset
   <section id="security">
     <title>Security Considerations</title>
 
+    <section>
+      <title>Authorisation, Access &amp; and Control</title>
+
+      <p>Using <module>mod_cache</module> is very much like having a built
+      in reverse-proxy. Requests will be served by the caching module unless
+      it determines that the backend should be queried. When caching local
+      resources, this drastically changes the security model of Apache.</p>
+
+      <p>As traversing a filesystem hierarchy to examine potential
+      <code>.htaccess</code> files would be a very expensive operation,
+      partially defeating the point of caching (to speed up requests),
+      <module>mod_cache</module> makes no decision about whether a cached
+      entity is authorised for serving. In other words; if
+      <module>mod_cache</module> has cached some content, it will be served
+      from the cache as long as that content has not expired.</p>
+
+      <p>If, for example, your configuration permits access to a resource by IP
+      address you should ensure that this content is not cached. You can do this by
+      using the <directive module="mod_cache">CacheDisable</directive>
+      directive, or <module>mod_expires</module>. Left unchecked,
+      <module>mod_cache</module> - very much like a reverse proxy - would cache
+      the content when served and then serve it to any client, on any IP
+      address.</p>        
+    </section>
+
     <section>
       <title>Local exploits</title>
 
index e1829e641d145ab1e5462e6e41093b5aa6612fad..8ac74c1d2d50030b4a739242db2b05fe347749d4 100644 (file)
 <identifier>cache_module</identifier>
 
 <summary>
+    <note type="warning">This module should be used with care and
+    can be used to circumvent <directive 
+    module="mod_authz_host">Allow</directive> and <directive 
+    module="mod_authz_host">Deny</directive> directives. You 
+    should not enable caching for any content to which you wish
+    to limit access by client host name, address or environment
+    variable.</note>  
+
     <p><module>mod_cache</module> implements an <a
     href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> compliant HTTP
     content cache that can be used to cache either local or proxied content.