【问题标题】:PHP - make file accessible for script but not for usersPHP - 使脚本可访问文件但用户不可访问
【发布时间】:2011-05-12 22:05:03
【问题描述】:

我希望用户能够上传文件,但我不希望他们能够查看文件上传到的文件夹的内容。 PHP 脚本应该能够浏览和读取隐藏(针对用户)文件夹中的文件。

有什么想法吗?

【问题讨论】:

    标签: php file-upload directory hidden


    【解决方案1】:

    不完全安全,但一个简单的解决方案是将 index.php 文件放在您不想访问的文件夹中,将用户重定向回主页。这主要会阻止轻松浏览未索引的文件夹。

    <?php
        header('Location: ../../index.html');
    ?>
    

    【讨论】:

      【解决方案2】:

      有多种方法可以做到这一点。

      option1 :就像 kolink 所说,将文件放在您的 webroot (public_html) 之外

      option2:使用 .htaccess 拒绝访问该目录,如果您不想列出文件,可以在 .htaccess 中使用以下内容

      选项-索引

      您可能还想使用 chmod 查看文件的权限。

      【讨论】:

      • 如果我拒绝访问该目录,它不会也拒绝尝试访问它的脚本吗?
      • @quano,不。这只会禁用对显示目录内容的默认 index.php 文件的访问,并返回 403 - Forbidden 消息(您可以自定义)。所以你不会访问a/dir,而是a/dir/file.png。
      【解决方案3】:

      上传到不在public_html 中的文件夹 - 然后只能通过 FTP 或服务器本身访问它们,而不是通过 HTTP。

      【讨论】:

        猜你喜欢
        • 2011-02-09
        • 1970-01-01
        • 2023-04-01
        • 2016-10-21
        • 2014-05-08
        • 2011-02-10
        • 2022-11-28
        • 1970-01-01
        • 2020-03-25
        相关资源
        最近更新 更多