我将日志存储在我的网络目录上方的“日志”文件夹中
我的目录结构如下:
web/ (document root)
log/ (log files go in here)
我对我的 Apache 配置做了以下更改,以确保该文件夹中的任何文件都不可被所有人读取:
<Directory absolute_path_to/log>
Order allow,deny
Deny from all
Satisfy All
</Directory>
[编辑]
我使用的是symfony框架,并且在web文件夹中放置了一个.htacess文件。
.htacess 文件包含以下部分:
##Protect your site<92>s PHP error log via htaccess
# prevent access to php error log
<Files ../log/php_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>
我已经对其进行了修改,并将其更改为限制对整个日志文件夹的访问,而不是特定文件(因为我将其他日志存储在那里)。
我 (Iganacio) 被告知,服务器会自动阻止对文档根目录之外的文件夹的访问。无论如何,如果这样做没有坏处,我宁愿仍然将该部分包含在虚拟主机配置中,以防万一。
这是正确的方法吗?这样日志文件夹就被完全禁止了?
答案1
两件事情:
- 路径
<Directory>
应该是绝对的。 - 导航到文档根目录以上的目录由 Web 服务器处理,一般是不允许的。
答案2
最简单的方法是将其放在 log/ 目录中的 .htaccess 中:
deny from all
因为您希望保护整个目录,所以您不需要该<Files ...>
指令,只需要阻止所有内容进入该目录的拒绝行。但是,Ignacio 说得对,您根本不需要这个,因为 log/ 目录不在 Apache 的服务范围内。