扫码关注官方订阅号
有一个需求是用户付费下载一个压缩包,付费后可下载数次或者无限次数。
那么问题就来了
如何不暴露该压缩包的路径让付费的人转发给其它人下载?
让下载链接有一个时间的限制?
我的想法是有一张表记录付费用户ID对应该压缩包ID,只能让该用户下载。但有其他或更好的方法吗?ps:PHP
人生最曼妙的风景,竟是内心的淡定与从容!
整理了一下思路,仅仅理论上参考,大致分析如下: 一个用户表,一个资源表,一个记录表。记录表记录用户是否付费下载次数,下载时间等信息。 以上信息你应该是清楚的,就是和你描述的大致差不多。主要问题应该就是对于下载资源路径的处理的问题,以及权限的处理
用户操作流程应该是:
资源列表 - 付费资源详情 - 创建付费资源记录 - 生成静态下载链接或者动态链接
下载链接非常见的资源路径,应该是一个动态的路径,为了关联资源,我们需要附带一个记录ID
// 非 ……resname.zip // 是 index.php?id=1&…
有时间限制肯定需要时间比对,下载前在控制器内比较当前时间与创建记录时间以及有效期的一个综合比较,过期即直接不允许继续后续下载
下载链接的控制器内肯定需要判断用户是否登录,以及记录ID中的付费用户ID是否与当前登录ID一致,一致才允许下载,否则不允许下载
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
整理了一下思路,仅仅理论上参考,大致分析如下:
一个用户表,一个资源表,一个记录表。记录表记录用户是否付费下载次数,下载时间等信息。
以上信息你应该是清楚的,就是和你描述的大致差不多。主要问题应该就是对于下载资源路径的处理的问题,以及权限的处理
用户操作流程应该是:
不暴露资源链接
下载链接非常见的资源路径,应该是一个动态的路径,为了关联资源,我们需要附带一个记录ID
下载链接有时间限制
有时间限制肯定需要时间比对,下载前在控制器内比较当前时间与创建记录时间以及有效期的一个综合比较,过期即直接不允许继续后续下载
只能当前用户下载
下载链接的控制器内肯定需要判断用户是否登录,以及记录ID中的付费用户ID是否与当前登录ID一致,一致才允许下载,否则不允许下载