使用.htaccess甚至从经过身份验证的用户隐藏文件

时间:2016-06-27 13:16:51

标签: apache .htaccess mod-rewrite

我想使用.htaccess - 文件中的设置来排除某些文件的显示。

  • 对于某些文件(此处为data/important.json),我希望即使是经过身份验证的用户也不会查看这些文件的内容。
  • 对于其他文件(此处为showerror.php),我想提供对所有人的访问权。

我的根目录中的.htaccess文件包含:

SetEnvIf Request_URI ^/showerror.php noauth=1
#SetEnvIf Request_URI ^/data/important.json noway=1

Order Deny,Allow
Satisfy any
Deny from all
Require user TestUser
Allow from env=noauth
#Deny from env=noway

.htaccess - 文件夹/data/的文件包含:

<Files "important.json">
#Order Allow,Deny
Deny from all
</Files>

似乎Satisfy any允许经过身份验证的用户查看该文件。那么有没有办法排除经过身份验证的用户查看important.json的内容?

1 个答案:

答案 0 :(得分:2)

您只需在子目录的.htaccess中使用以下要求设置覆盖您的根目录require - .htaccess

Require all denied

另见:https://httpd.apache.org/docs/current/upgrading.html

如果您想按文件执行此文件,请使用:

<Files "important.json">
  Require all denied
</Files>