【发布时间】:2010-10-15 07:00:38
【问题描述】:
如果文件权限为440,php fopen打开文件读取失败。我不想给文件444权限,这样就不能直接通过URL访问了。
【问题讨论】:
-
文件的所有者和组是谁?
-
它是一个托管环境,所以创建文件的用户,即我将是所有者和我不知道的组。
标签: php file file-permissions
如果文件权限为440,php fopen打开文件读取失败。我不想给文件444权限,这样就不能直接通过URL访问了。
【问题讨论】:
标签: php file file-permissions
假设您将 Apache 与 PHP 一起使用,解决此问题的最简单方法是使用 Apache 限制对文件的访问,但允许全局读取访问。这样做的方法是将所有你想要禁止的文件保存在它们自己的目录中,并在 .htaccess 文件中放置:
Order Allow , Deny
Deny from all
现在您可以拥有全局读取权限,但如果您尝试直接从 Web 访问文件,您将收到 Permission Denied 错误。
【讨论】:
您可以按照 tj111 的建议进行操作,使用 .htaccess 阻止它。
但更好的办法是将其放在 www 根目录之外。
例如,如果您的 PHP 文件位于 /home/user/public_html/ 中,请将您的文件设置为访问受限,例如在 /home/user/includes 中给他们 644 (rw-r--r--)。您可以将目录权限限制为 711 (rwx--x--x),所以没有人,但您可以看到那里有哪些文件。不过,这并不妨碍您使用 PHP 读取或包含这些文件。
【讨论】: