【问题标题】:require_once(../../path/to/script.php) failed to open stream permission deniedrequire_once(../../path/to/script.php) 无法打开流权限被拒绝
【发布时间】:2011-01-01 10:55:46
【问题描述】:

在此处查看示例:http://mattpotts.com/portal/

我在所需路径上的每个目录中都放置了一个includeme.htm,以查找故障点。它在具有相同目录结构的本地机器(windows)上运行良好,但在我的远程(linux)服务器上失败。

目录结构:

+-firefli/                 drwx--x--x
  +-private_html/          drwx------
    +-foo/                 drwxr-xr-x
    +-bar/                 drwxr-xr-x
    +-portal/              drwxr-wr-w
  +-public_html/           drwxr-wr-w
    +-foo/                 drwxr-wr-w
    +-portal/              drwxr-wr-w

权限确认是private_html 目录导致了问题。希望您能看到目录结构的目的,我不知道这是否是一种常见的做事方式,但它对我有用。嗯,到现在为止。

我已经问了很长时间,但我的问题很简单:将private_html 设置为drwxr-xr-x 有什么问题吗?鉴于我不希望它可以通过网络访问。但是权限不应该这样做吗?因为它是 apache 使 public_html 目录可以通过 http 访问。

【问题讨论】:

    标签: php linux security file-permissions


    【解决方案1】:

    private_html 对应的user:group 是什么? Web 服务器需要是组的成员或文件的所有者。为了读取目录内容,目录需要具有execute 权限,以便网络服务器打开它。本质上,它们应该具有与public_html 相同的user:group。您只想禁止 write 权限。到他的网络服务器。如果您将文档根目录设置为public_html,则无论权限如何,都无法通过网络访问private_html。另外,我总是在路径参数和文件操作上使用realpath

    【讨论】:

      【解决方案2】:

      好吧,如果您已正确设置您的DocumentRoot 以指向public_html,则无论您对其赋予何种权限,都无法从网络访问它。

      如果您不输入一个会重定向它的 .htaccess 文件,则无法从 Web 访问私有 HTMl。如果您不知道这意味着什么/如何做到这一点,那么您是安全的。

      您应该可以将这些权限设置为您的脚本所需的任何权限。

      【讨论】:

      • 谁可以访问它?如果我将它从 drwx------ 更改为 drwxr-xr-x?
      • 无法通过网络访问。但是其他 FTP 用户可以访问它。 (当然,这是假设不存在错误的 htaccess 文件)。
      • 为什么要让它从 public_html 访问?
      • drwxr-xr-x 将是用户的所有权限,并且可以读取和执行组和世界
      • @chacha102 没关系 - 这是一个值得信赖的团体
      【解决方案3】:

      您不需要阻止对 private_html 具有文件夹/文件权限的 Web 用户,因为它位于 Web 根目录之外。正如您所说,网络用户只能访问 public_html 中的内容

      为了以后的调试速度,如果你有一个相对的 web 路径,你可以使用 realpath 将其转换为真实路径:

      $path = realpath('../../private_html');
      // $path is now /public_html/foo/private.html or whatever
      

      【讨论】:

      • private_html 上的权限就是它们本来的样子。我没有碰过它们。然而……
      猜你喜欢
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2011-06-22
      • 2015-12-16
      • 2015-11-15
      • 2017-09-23
      相关资源
      最近更新 更多