【问题标题】:mkdir() or chmod() set directories contents to hidden, but subdirectories contents to viewablemkdir() 或 chmod() 将目录内容设置为隐藏,但将子目录内容设置为可见
【发布时间】:2014-08-21 18:59:38
【问题描述】:

我正在创建一个基于文件的存储系统,供小型独立游戏开发者用于他们的游戏。它全部由一个 PHP 文件控制,该文件通过 POST / GET 变量处理“查询”。我希望 PHP 文件创建一个包含子目录的目录(每个游戏一个)。我不希望任何人查看此主目录中的游戏,因此他们无法查看其他游戏 ID,但如果他们有自己的游戏 ID,则可以查看其游戏文件夹的内容。

这是包含游戏目录的主目录: http://shadespeed.com/shadetech_storage/

我想隐藏该文件夹中的所有内容,但显示子目录中的内容,例如: http://shadespeed.com/shadetech_storage/12345678/

这可能吗?

查看 chmod(),我找不到任何我想要的模式:http://www.php.net/manual/en/function.chmod.php

非常感谢,

  • 丹。

【问题讨论】:

  • 也许使用递归函数?即使我认为这不是最好的方法..
  • 我想我已经暂时修复了它,通过在主目录中添加一个 html 文件 (index.html)。

标签: php chmod mkdir


【解决方案1】:

我已经使用了解决方法。我只是在主目录中创建了一个 HTML 文件 (index.html)。它目前有效,但我不确定它是否会阻止知道自己在做什么的人。

【讨论】:

    【解决方案2】:

    也许您应该简单地创建带有内容的.htaccess 文件:

    Options -Indexes 
    

    当您不希望用户在此目录中显示文件时,您可以简单地将其放在主文件夹中,因此在您的情况下可能在目录 http://shadespeed.com/shadetech_storage/

    【讨论】:

      【解决方案3】:

      如果您的服务器是基于 Apache 的,只需在主目录中使用 .htaccess 文件以禁止访问该目录内容(如代码 1 所示),并在每个子目录中使用 .htaccess 文件以允许访问它们(如代码 2)

      代码 1:

      Order deny,allow
      Deny from all
      

      代码 2:

      Order allow,deny
      Allow from all
      

      【讨论】:

        猜你喜欢
        • 2012-03-06
        • 2012-12-04
        • 1970-01-01
        • 2017-02-25
        • 2012-05-31
        • 1970-01-01
        • 1970-01-01
        • 2020-04-23
        相关资源
        最近更新 更多