0

这是交易,我正在出售一些文件,它们可以下载。

因此,只有付费购买文件的用户才能下载它们。出于多种原因,我想避免通过 PHP 脚本下载 - 文件很大(有些约为 5GB) - 如果下载迷恋,则必须重新开始。

有什么办法吗?任何策略都可以帮助我识别允许下载文件的用户,并让 apache 完成这项工作(提供下载的直接链接),而不是使用 PHP 脚本来流式传输文件。

有任何想法吗 ?

4

4 回答 4

1

mod身份验证令牌怎么样?

http://code.google.com/p/mod-auth-token/

可能是一个很好的解决方案 - 我使用类似的策略,但使用我自己的模块。

于 2012-05-11T11:18:03.563 回答
0

任何 URL 都可以共享,因此您必须保留文件已下载的指示,否则付费访问者可以发布 URL,任何人都可以下载它。

使用 PHP,您可以在整个文件传输后设置一个标志(大致表示下载成功),因此无法再次下载文件。

您也可以使用某种身份验证,但话又说回来,可以共享凭据。

于 2012-05-11T11:08:50.853 回答
0

一种相当简单的解决方案是使用函数。您将对用户进行身份验证,然后将请求交给 apache。那不是使用php来流式传输文件。

于 2012-05-11T11:10:14.663 回答
0

借助一些技巧,您可以创建指向真实文件的符号链接,并在文件下载后将其关闭。

用户购买文件:您创建一个符号链接并将唯一的 URL 发送给用户。然后,您可能会监视日志文件并在文件下载后禁用符号链接。或者,如果您无法访问日志文件,您可以将用户发送到仅在用户访问时创建符号链接的 PHP 文件,然后在一定时间后关闭符号链接(尽管您如何确定那个时间,我'不确定)。

不是一个完美的解决方案,只是抛出一个想法。

于 2012-05-11T11:25:42.623 回答