2012-05-11 13 views
0

これは取引です 私はいくつかのファイルを販売しています。認証されたユーザーのためにApacheを使用してファイルを直接ダウンロードしてください

したがって、ファイルを支払ったユーザーのみがダウンロードできます。 多くの理由でPHPスクリプトを介したダウンロードを避けたい - ファイルが大きい(一部は〜5GB) - ダウンロードがクラッシュする場合は、もう一度やり直す必要があります。

どうすればよいですか? PHPスクリプトを使用してファイルをストリーミングする代わりに、ダウンロードを許可しているユーザーを特定し、Apacheに仕事をさせて(ダウンロード用の直接リンクを提供する)

すべてのアイデア?

答えて

1

mod auth tokenはどうですか?

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

非常に良い解決策になることができます - 私は、同様の戦略を使用しますが、私自身のモジュールを使用しました。

0

すべてのURLを共有できるため、ファイルがダウンロードされたという表示を維持する必要があります。そうしないと、有料の訪問者がURLを公開して誰でもダウンロードできます。

PHPを使用すると、ファイル全体が送信された後にフラグを設定することができます(おおよそ正常にダウンロードされたことを示しています)ので、ファイルを再度ダウンロードすることはできません。

また、何らかの認証を使用することもできますが、再度資格情報を共有できます。

0

簡単な解決策の1つは、virtual機能を使用することです。あなたは、ユーザーを認証し、apacheへのリクエストを手放すでしょう。それはではなく、ファイルをストリームするためにPHPを使用しています。

0

スマートでは、実際のファイルへのシンボリックリンクを作成して、ファイルをダウンロードした後にオフにすることができます。

ユーザー購入ファイル:シンボリックリンクを作成し、ユーザーに一意のURLを送信しました。その後、ファイルがダウンロードされると、ログファイルを監視してシンボリックリンクを無効にすることができます。また、ログファイルにアクセスできない場合は、ユーザーが訪れたときにシンボリックリンクを作成してから、シンボリックリンクを一定時間後にオフにするPHPファイルにユーザーを送信することもできます(ただし、私は確信していません)。

完璧な解決策ではなく、アイデアを投げてください。

関連する問題