有没有办法在PHP中为单个文件创建一个动态下载链接一段时间,或者下载链接在这段时间之后过期。在此之后,下载链接会发生变化。
实际上,我有一个要求,下载链接应该是通过一个特定的电子邮件才能访问。我无法将该文件作为附件添加,因为它太大了。
有人能在这方面帮我吗。
发布于 2012-03-15 17:09:01
一种解决方案:
id | filename | expires ----------------------+--------------------+-------------------- fsdhfs7dfsniuf92un3f2 | secret.doc | 2012-03-23 23:32:32 sdf8shdf829nf32ufn23f | secret2.doc | 2012-03-13 23:32:33
http://yoursie.com/download/fsdhfs7dfsniuf92un3f2
在RewriteRule ^/ RewriteEngine /(a-z0-9{20})$ /download.php?id=$1
download.php
,查看$_GET['id']
。运行数据库查询以查找记录。检查过期日期。如果一切正常,那么proceed.
无论哪种方式,您都有一个安全的、可过期的链接,可以发送给您的最终用户。
保重!
发布于 2012-03-15 17:07:22
当然,将文件的路径、唯一标识符和过期时间戳一起存储在数据库中。然后,当用户访问get变量中具有唯一ID的链接时,检查时间戳并相应地获取文件/显示错误。
发布于 2012-03-15 17:08:34
数据库表:
id文件(在可公开访问的路径之外)过期
然后有一个脚本get-file.php?id=XXXXXX
<?not-real-code
Delete everything expired from table
Look up record for id=XXXXXXX
If exists then use something like readfile() to read and output file
Delete record in table
https://stackoverflow.com/questions/9724584
复制相似问题