用PHP保护密码文件

时间:2017-10-01 14:56:19

标签: php file

我需要一个程序,允许用户下载带密码的文件,这是我的算法:

  • 用户购买许可证并获取类似A_Long_And_Not_Guessable_Key
  • 的代码
  • 然后用户转到我的程序,例如site.com/index.php?id=12
  • 用户可以查看有关文件的详细信息
  • 用户发送代码并获取文件

文件在这里:home/files,脚本在这里home/public_html/

除最后一步外,所有步骤都很容易编写!检查密码时,如何从home/files获取文件并提供给用户?

这是我用搜索得到的但却没有多大帮助:
Making a downloadable file password protected on webpage
how to password protect downloadable pdf files in website
PHP Downloading a file from a different password protected server

BTW所有文件都有.zip个扩展名

1 个答案:

答案 0 :(得分:0)

您的步骤不保护文件本身,而是如果用户没有密码/密钥则不允许用户下载文件。这些是不同的东西。

您可以用七种方式对文件进行编码。

  • 您可以使用AES文件格式,这是一个可以执行此操作的PHP库:AESCrypt-PHP。但是您的用户必须安装一些程序来解码这些文件。
  • ZIP文件格式支持密码。您可能需要重新创建zip文件。阅读更多ZipArchive::setPassword。很可能所有用户都有一个可以打开和解码ZIP文件的程序。

如果您不想更改文件,而不是只允许每个人下载文件,那么也可以通过七种方式完成。但请注意,如果您要求用户在您的页面中输入密码,则应使用HTTPS,以便其他人无法窃取密码。您也应该通过HTTPS传输文件。

如果您不知道如何在PHP中启动文件下载,则应阅读以下问题:How to force file download with PHP