1

我在这里看到了很多关于由于 LAMP 权限而无法访问文件的问题,但没有关于使用权限使 http 客户端无法查看文件的问题。

我的 Apache2 根文件夹中有文件和文件夹,我不希望人们能够通过浏览器或其他外部方式访问它们。我将权限设置为 770,但这似乎还不够。外部用户是否以 apache 用户身份访问文件?我在 Ubuntu Server 下运行 LAMP,对默认值几乎没有修改,因此我的 apache 用户是 www-data,组是:www-data,apache 根目录是 /var/www。

我有一个 /var/www/_private 文件夹,该文件夹具有 770 个权限,并且对其随附的文件具有相同的权限。但是,如果我通过浏览器访问这些文件,它们仍然是可见的。客户是否以 www-data 用户身份访问我的文件?如果是这样,我该如何纠正这个问题?

我从事过托管设置,其中将“其他”权限设置为 0 足以拒绝外部对文件的直接访问。我是否需要安装一些额外的模块才能获得此功能?

注意:我仍然需要我的客户端可访问的 PHP 脚本来通过包含、fopen 等访问这些文件......

4

1 回答 1

1

嗯,对了,770的意思是文件的所有者和组可以读、写和执行。我猜 Apache 是该文件的所有者,因此允许它访问它并向全世界开放。

与其修改服务器上的权限,还可能对文件的可访问性造成损害,不如使用.htaccess文件。它将指示 Apache 在某些情况下采取行动,例如拒绝访问文件。只需.htaccess在网站的根目录中创建文件

<Files {your file name here}>
deny from all
</Files>

并且您将拒绝所有人使用 Apache 访问它。

如果你想拒绝整个目录:

<Directory /var/www/_private>
   Order Deny,allow
   Deny from all
</Directory>
于 2013-05-13T02:19:11.570 回答