阻止 Apache 中的文件访问并且不显示其存在

阻止 Apache 中的文件访问并且不显示其存在

我正在尝试阻止一些文件和文件夹在 apache 上直接访问。查看这里的一些答案后,我做了以下操作:

我补充说apache2.conf

<Location /folder1/folder2>
    Order deny,allow
    deny from all
</Location>

<FilesMatch /folder3/file1>
    Order deny,allow
    deny from all
</FilesMatch>

第一部分工作部分正确:当我从访问任何文件时http://xxxx/文件夹1/文件夹2/(文件或文件夹)我得到:

Forbidden
You don't have permission to access ... on this server.

但是当我访问类似的东西时:http://xxxx/nonExistingFolder/我得到了信息Not Found,因此看起来我泄露了信息,即文件夹 1/文件夹 2/ 中存在某些内容,并且这些内容很重要。有没有办法显示未找到。

另一个问题是我仍然可以访问/folder3/file1FilesMatch 中我做错了什么?我在 apache 上2.4.10

答案1

您可以在 /folder1 目录中使用 mod_rewrite

RewriteEngine On
RewriteBase   /folder1
RewriteRule   ^$ - [R=404,L]

相关内容