这是交易, 我正在销售一些文件,可以下载。
因此,只有付费文件的用户才能下载。 我想避免通过PHP脚本下载有很多原因 - 文件很大(有些约为5GB) - 如果下载粉碎,它必须重新开始。
有什么办法吗?任何策略都可以帮助我识别允许下载文件的用户,让apache完成工作(提供直接下载链接),而不是使用PHP脚本来传输文件。
任何想法?
答案 0 :(得分:1)
答案 1 :(得分:0)
任何网址都可以共享,因此您必须保留文件已下载的指示,否则一位付费访问者可以发布该网址,任何人都可以下载该网址。
使用PHP,您可以在传输整个文件后设置一个标志(大致表示成功下载),因此无法再次下载该文件。
您也可以使用某种身份验证,但同样可以共享凭据。
答案 2 :(得分:0)
一个相当简单的解决方案是使用virtual函数。您将授权用户,然后将请求移至apache。那是不使用php来传输文件。
答案 3 :(得分:0)
使用一些智能,您可以创建符号链接到真实文件,并在文件下载后关闭它们。
用户购买文件:您创建符号链接并将唯一的URL发送给用户。然后,您可以监视日志文件,并在下载文件时禁用符号链接。或者,如果您无法访问日志文件,您可以将用户发送到仅在用户访问时创建符号链接的PHP文件,然后在一定时间后关闭符号链接(尽管您怎么能确定那个时间是什么,我我不确定。
不是一个完美的解决方案,只是抛出一个想法。