【问题标题】:how i can protect folder which includes uploaded files?我如何保护包含上传文件的文件夹?
【发布时间】:2011-04-07 08:58:36
【问题描述】:

如何保护包含上传文件的文件夹?

我的文件夹包含我上传的所有文件,如果用户尝试更改 url 或传递以显示所有文件,我希望浏览器将他重定向到另一个页面,例如这个示例

www.tet.php/folder/text.doc

如果用户尝试写入 (www.tet.php/folder) 以显示所有文件,则自动将他重定向到 www.tet.php

或者任何人请告诉我消失/文件夹/的棘手方法

【问题讨论】:

标签: php


【解决方案1】:

我不知道 php,但我正在考虑一种解决方案,但不知道 php 是否可以处理:

您可以将“UsersUploads”文件夹放在网站目录之外,因此如果您的网站存在于“c:\website\example.com”上,您可以将“UsersUploads”放在“c:\UsersUploads”中,就像您的网络服务器无法控制此文件夹及其文件,您的网站代码仍然可以作为正常物理路径访问此目录。

【讨论】:

    【解决方案2】:

    如果你使用 Apache,你有 2 个解决方案:

    • 将您的uploaded_files 文件夹移出 你的 DocumentRoot (的根 可从 网络)。

    • 使用该文件夹中的 .htaccess 文件 阻止对该文件夹的访问。

    使用身份验证访问文件夹的 .htaccess 小示例:

    AuthName "Page d'administration protégée"
    AuthType Basic
    AuthUserFile "/var/www/uploadedfiles/.htpasswd"
    Require valid-user
    

    【讨论】:

      【解决方案3】:

      如果您使用 IIS,那么您只需通过 IIS 管理控制台拒绝所有人访问该文件夹即可。除了某些 IP 地址或地址范围之外,您还可以拒绝任何访问。

      【讨论】:

        【解决方案4】:

        只是为了扩展@Clement 的答案,包括有关在失败时重定向到页面的部分:

        AuthName "Page d'administration protégée"
        AuthType Basic
        AuthUserFile "/var/www/uploadedfiles/.htpasswd"
        Require valid-user
        ErrorDocument 403 www.urlToRedirectTo.com
        

        此外,.htpasswd 应该放在 Web 根目录之外,并且应该只包含 username:pasword。密码应该是散列的。您可以轻松地在线找到实用程序来为您创建这些文件。

        【讨论】:

        • 好的,我如何设置密码,我对htaccess一无所知
        • 使用此表单htaccesstools.com/htpasswd-generator 生成加密密码。将结果页面上文本框中的文本复制到名为 .htpasswd 的文件中,该文件位于 AuthUserFile 行指向的路径中。同样,出于安全原因,这不应位于 Web 根目录中。
        猜你喜欢
        • 1970-01-01
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-16
        • 2017-11-11
        • 1970-01-01
        相关资源
        最近更新 更多