允许在PHP中为网站安全下载

时间:2012-08-23 06:44:11

标签: php security download zip fileshare

我已将一些zip文件上传到我的服务器,现在想让用户在他/她有适当的密码时下载它们。我用PHP编写代码我已经做到了这样一个用户无法访问带有zip文件链接的页面,除非输入了正确的密码,但是通过链接到我的zip文件,用户可以看到并在将来case输入zip文件的绝对位置并绕过我的密码检查。如果我更改zip文件的文件权限,那么我不能将它作为链接,因为用户将无法访问它。如何让用户在保持安全的同时获取zip文件?任何建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是mask url

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

答案 1 :(得分:0)

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

然后从php验证用户并在验证成功后,将用户重定向到download.php,文件名作为参数(甚至是id),然后使用force download让他们下载。这种方式即使他们有直接链接到zip文件,他们也无法下载文件。

答案 2 :(得分:0)

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

您可以使用PHP编写代码或使用完全符合此功能的现有代码。

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