欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 如何创建一个临时或有限时间内的下载链接?

程序员文章站 2022-03-18 22:06:11
...
有一个需求是用户付费下载一个压缩包,付费后可下载数次或者无限次数。

那么问题就来了

  1. 如何不暴露该压缩包的路径让付费的人转发给其它人下载?

  2. 让下载链接有一个时间的限制?

我的想法是有一张表记录付费用户ID对应该压缩包ID,只能让该用户下载。
但有其他或更好的方法吗?
ps:PHP

回复内容:

有一个需求是用户付费下载一个压缩包,付费后可下载数次或者无限次数。

那么问题就来了

  1. 如何不暴露该压缩包的路径让付费的人转发给其它人下载?

  2. 让下载链接有一个时间的限制?

我的想法是有一张表记录付费用户ID对应该压缩包ID,只能让该用户下载。
但有其他或更好的方法吗?
ps:PHP

整理了一下思路,仅仅理论上参考,大致分析如下:
一个用户表,一个资源表,一个记录表。记录表记录用户是否付费下载次数,下载时间等信息。
以上信息你应该是清楚的,就是和你描述的大致差不多。主要问题应该就是对于下载资源路径的处理的问题,以及权限的处理


用户操作流程应该是:

资源列表 - 付费资源详情 - 创建付费资源记录 - 生成静态下载链接或者动态链接

不暴露资源链接

下载链接非常见的资源路径,应该是一个动态的路径,为了关联资源,我们需要附带一个记录ID

    // 非
    ……resname.zip
    // 是
    index.php?id=1&…

下载链接有时间限制

有时间限制肯定需要时间比对,下载前在控制器内比较当前时间与创建记录时间以及有效期的一个综合比较,过期即直接不允许继续后续下载

只能当前用户下载

下载链接的控制器内肯定需要判断用户是否登录,以及记录ID中的付费用户ID是否与当前登录ID一致,一致才允许下载,否则不允许下载

相关标签: php javascript