【问题标题】:Allowing secure downloads in PHP for websites允许网站的 PHP 安全下载
【发布时间】:2012-08-18 15:27:41
【问题描述】:

我已将一些 zip 文件上传到我的服务器,现在希望允许用户下载它们,前提是他/她有适当的密码。我正在使用 PHP 进行编码,并且我已经做到了,因此除非输入了正确的密码,否则用户无法访问带有 zip 文件链接的页面,但是通过链接到我的 zip 文件,用户可以看到并且将来case 输入 zip 文件的绝对位置并绕过我的密码检查。如果我更改 zip 文件的文件权限,则无法将其作为链接,因为用户将无法访问它。我怎样才能允许用户获取 zip 文件,同时仍然保持它的安全?任何建议将不胜感激。

【问题讨论】:

    标签: php security download zip fileshare


    【解决方案1】:

    最好的方法是mask url

    • 用户登录
    • 根据他的登录详细信息生成一个令牌。一些md5 或任何你决定的东西
    • 创建一个下载链接(例如:download.php),该链接根据有效的令牌和会话加载文件并获取带有file_get_contents() 的文件。

    【讨论】:

      【解决方案2】:

      使用 .htaccess 拒绝对文件的直接访问。将此 .htaccess 文件放在相关文件夹中。

      然后从php认证用户,认证成功后,将用户重定向到以文件名作为参数(甚至id)的download.php,然后使用force download让他们下载。这样即使他们有 zip 文件的直接链接,他们也无法下载该文件。

      【讨论】:

        【解决方案3】:

        您需要编写可以隐藏下载链接的代码/链接需要过期,新链接应该取代它和/或链接应该改变。

        您可以使用 PHP 对其进行编码,也可以使用现有的一段代码来实现这一点。

        http://sixthlife.net/product/secure-download-links/

        【讨论】:

          猜你喜欢
          • 2014-01-02
          • 1970-01-01
          • 1970-01-01
          • 2016-11-21
          • 1970-01-01
          • 2013-11-01
          • 1970-01-01
          • 2011-04-16
          • 2012-10-24
          相关资源
          最近更新 更多