apache - 按文件类型限制对目录的访问

标签 apache

我的 Google-fu 在这方面让我失望了...

我正在尝试创建一个仅允许访问特定目录中的图像、js 和 css 文件的 Apache 配置。

例如,以下 URL 应该有效:

mysite.com/dir/image.gif

但这应该被阻止:

mysite.com/dir/page.php

我遇到的问题是让它只对/dir/有效。/dir/之外的其余目录不应受此指令影响。

这是我目前所拥有的,它没有做我需要的(它似乎适用于所有目录)。

<FilesMatch "\.(gif|jpe?g|jpg|png|js|css)$">
  Order deny,allow
  Allow from all
</FilesMatch>

我如何只允许访问/dir/中的某些文件类型而不影响我目录的其余部分?

最佳答案

我最近用过这个:

Options -ExecCGI -Indexes
<FilesMatch "\.*$">
deny from all
</FilesMatch>
<FilesMatch "\.(png|jpg|gif|css)$">
allow from all
</FilesMatch>

我找不到关于此的明确文档,但对于 FilesMatch,Apache 似乎没有在第一次匹配时短路。它处理整个 .htaccess 规则。

因此第一个规则阻止访问所有文件类型,第二个规则允许选定的类型。

可能需要更多测试,但必须为客户做一些易于他们实现的事情,以处理他们的开发人员正在努力修复的 Web 漏洞。

关于apache - 按文件类型限制对目录的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982441/

相关文章:

apache - 将网站重定向到 https

apache - 将目录添加到 Apache 服务器

windows - 运行 cgi 程序时 Apache 服务是否有连接/内存限制?

apache - 如何将域重定向到根域,但子域主页转到其他地方?

java - 如何从通过 apache ErrorDocument 重定向到达的 Struts 2 Action 中获取原始 REQUEST_URI?

html - CSS 在 apache2 服务器上的 Flask 应用程序中不起作用

Apache 中的 PHP session

c# - 在缺少 setup.py 的 Windows 上构建 Apache QPID

java - 如何在Apache SOLR Cloud模式下加载原生库(.so)?

java - 如何用gzip文件就地替换Java