php fopen不';t打开文件,是否未向世界/公众授予读取权限?

php fopen不';t打开文件,是否未向世界/公众授予读取权限?,php,file,file-permissions,Php,File,File Permissions,如果文件权限为440,php fopen无法打开文件进行读取。我不想为该文件授予444权限,这样就无法通过URL直接访问该文件。假设您将Apache与PHP结合使用,解决此问题的最简单方法是使用Apache限制对文件的访问,但允许全局读取访问。实现这一点的方法是在自己的目录中禁止您想要的所有文件,并在.htaccess文件中放置以下内容: Order Allow , Deny Deny from all 现在,您可以拥有全局读取权限,但如果您尝试直接从web访问文件,则会出现权限被拒绝的错误。

如果文件权限为440,php fopen无法打开文件进行读取。我不想为该文件授予444权限,这样就无法通过URL直接访问该文件。

假设您将Apache与PHP结合使用,解决此问题的最简单方法是使用Apache限制对文件的访问,但允许全局读取访问。实现这一点的方法是在自己的目录中禁止您想要的所有文件,并在.htaccess文件中放置以下内容:

Order Allow , Deny
Deny from all

现在,您可以拥有全局读取权限,但如果您尝试直接从web访问文件,则会出现权限被拒绝的错误。

假设您使用Apache和PHP,解决此问题的最简单方法是使用Apache限制对文件的访问,但允许全局读取访问。实现这一点的方法是在自己的目录中禁止您想要的所有文件,并在.htaccess文件中放置以下内容:

Order Allow , Deny
Deny from all
现在您可以拥有全局读取权限,但如果您尝试直接从web访问该文件,则会出现权限被拒绝的错误。

您可以按照tj111的建议执行,使用.htaccess阻止它

但更好的办法是将其置于www根之外

例如,如果您的PHP文件位于/home/user/public\u html/中,请将您的文件置于访问受限的位置,例如位于/home/user/includes中,将其设置为644(
rw-r--r--
)。您可以将目录权限限制为711(
rwx--x--x
),这样除了您以外的任何人都无法看到那里有哪些文件。但这并不妨碍您使用PHP读取或包含这些文件。

您可以按照tj111的建议,使用.htaccess阻止它

但更好的办法是将其置于www根之外


例如,如果您的PHP文件位于/home/user/public\u html/中,请将您的文件置于访问受限的位置,例如位于/home/user/includes中,将其设置为644(
rw-r--r--
)。您可以将目录权限限制为711(
rwx--x--x
),这样除了您以外的任何人都无法看到那里有哪些文件。但这并不妨碍您使用PHP读取或包含这些文件。

谁是文件的所有者和组?这是一个托管环境,因此创建文件的用户(即我)将是所有者和组,我不知道。谁是文件的所有者和组?这是托管环境,因此创建文件的用户,也就是说,我将是所有者和我不认识的团体。