【问题标题】:Setting file permissions on a web server在 Web 服务器上设置文件权限
【发布时间】:2017-09-14 00:00:46
【问题描述】:

需要澄清一下。

我的网络服务器中有一个文件夹,其中包含任何人都无法阅读的敏感信息。我的脚本目前这样做:

使用 0777 权限创建文件夹并在该文件夹中放置图像

我有第二个脚本可以做到这一点:

从该特定文件夹中提取该图像,并将其显示给用户

但是,现在如果用户知道父文件夹的确切名称,他们只需在浏览器中键入它并查看该文件夹中包含的所有图像,例如:www.testsite/test/images

我可以使用什么文件权限来代替 0777,这将允许这两个脚本写入和读取文件夹,而不允许任何人在浏览器中键入文件夹时查看文件夹的内容?

【问题讨论】:

  • 为什么要将它设置为000?然后 没有人 将能够阅读它。这是故意的吗?你确定你不只是想要700
  • 对不起,我遗漏了一些关键信息,编辑了问题

标签: php html


【解决方案1】:

如果我正确理解您的问题,您担心用户在 URL 栏中输入 /test/images/ 并看到包含您的机密文件的目录列表。

chmod 设置为000 将意味着任何一个您的脚本(或您)都无法访问该文件夹。

在我看来,使用.htaccessdeny from all 会好得多。这将使您无法“打开”该文件夹中的任何文件,尽管您仍然可以将它们包含在 PHP 中。

或者,您可以选择在/images/ 文件夹中创建index.php,并使用header('Location: /') 设置自动重定向。这样用户将无法看到目录列表。

希望这会有所帮助! :)

【讨论】:

  • images 文件夹中的 index.php 是天才!澄清一下,该文件夹会自动调用 index.php 脚本,对吗?我只需要在那里输入重定向吗?谢谢你的帮助!很酷的想法,会试试看!
  • 是的;导航到文件夹将自动尝试在那里查找相关索引 - .index.htmlindex.php 等。如果唯一的文件是 index.php,它将自动显示.index.php用户,因此他们将自动获得指导。他们永远不会看到目录列表,也不会在任何日志中找到它的任何痕迹。
  • 这个例子怎么样:在 /test/images 中,我们有 /images/1/305、/images/2/305,用户仍然可以在他们的 url 中添加它们并访问这些文件夹,即使我有 index.php 将它们重定向到图像文件夹中,我如何为图像文件夹中的每个子文件夹重定向它们?最好的方法是使用文件权限对吗?
  • 是的,如果您有多个子文件夹,那么 每个 文件夹在这方面都需要它自己的索引。您还可以编写.htaccess 规则以根据某些文件夹条件自动重定向。
  • .htaccess 文件是否位于会影响其所有子文件夹的父文件夹中?
猜你喜欢
  • 1970-01-01
  • 2015-02-27
  • 2011-03-19
  • 2011-10-21
  • 1970-01-01
  • 2012-06-06
  • 2016-06-16
  • 2015-08-01
  • 2014-01-25
相关资源
最近更新 更多