PHP使用唯一密码下载一次

时间:2018-03-03 16:19:33

标签: php

我正在寻找一个php脚本,它允许我生成多个密码/令牌,我可以分发给一些人,他们可以在网站上输入一次下载文件。下载后,令牌不应再使用了。该文件是杂志的PDF版本,因此购买印刷版本的人也可以获得数字版本。

有没有人知道如何解决这个问题?

此致

弗朗西斯

1 个答案:

答案 0 :(得分:0)

当请求令牌时(例如paper-2018-03-03.pdf?token = 12345),验证是否存在名为paper-2018-03-03.pdf.12345的零长度文件。如果是,则拒绝下载。如果没有,则下载正常,但您使用touch()创建保护文件。

或者你可以在发出代币时创建警卫文件;当请求进入时,如果保护文件在那里,则允许下载并删除保护文件。如果大多数人使用他们的令牌,这可能会更简单。但是,之前的方法可以让您更好地跟踪下载。

要生成令牌,任何随机生成器都可以 - 您可以使用mt_rand()uniqid()打开额外的熵标记。

这种方法的优点是不需要数据库;如果你已经拥有一个,那么将令牌存储在数据库中会更好。