Rumah  >  Artikel  >  pembangunan bahagian belakang  >  javascript - 如何创建一个临时或有限时间内的下载链接?

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

WBOY
WBOYasal
2016-12-01 00:56:551568semak imbas

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

那么问题就来了

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

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

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

回复内容:

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

那么问题就来了

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

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

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

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


用户操作流程应该是:

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

不暴露资源链接

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

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

下载链接有时间限制

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

只能当前用户下载

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn