私は最終的にユーザーがWebからファイルを購入してダウンロードできるツールを開発中です。ダウンロード可能なファイルを安全に/安全にホスティングして、権限のないユーザーが最初にファイルを購入せずにファイルをダウンロードすることができないようにするにはどうすればよいでしょうか。セキュリティで保護されたダウンロード可能なファイルを保存する
ユーザーはWebサイトからファイルを購入し、必要なだけダウンロード可能なファイルにアクセスできます。
これは、2つの部分の質問です:私は確信して支払ったファイルを作って行くことができますが、不正な人々によってダウンロードされていませんか?、
- 有料のファイルをダウンロードできますか?
最初の質問では、ファイルをハッシュされたディレクトリ名に格納して、推測が不可能に近いと推測していますか? S3サーバーはここで良い解決策になるでしょうか?この点について私は何の懸念を意識する必要がありますか? 2番目の質問については
、私はそうのようなファイルにユーザーを関連付ける購入、格納するデータベース内のテーブルを作成することができることを推測している:
purchases table
-> id
-> hash (unique purchase identifier)
-> user (foreign key)
-> file (foreign key)
-> ...other stuff here like timestamp, etc...
を...そして使用します
その後、ハッシュsd9f7u23ihosd8087603
を持つレコードを検索し、それが存在していることを確認し、それことでしょう http://www.example.com/something/download/sd9f7u23ihosd8087603/
...:ユーザーが購入したので、ダウンロードするURLがあろうと、アプリケーションチェックアソシエートです現在のユーザーと編集します。そこから、ファイルシステム上のファイルにそれらを向ける...
これは良い方法ですか?優れたソリューションはありますか?私はここに詳細をしないのですが、その問題上の任意のベアリングを持っている場合...
アプリケーションは、ジャンゴで書かれていることを確認しています。もう一つの注意点は、サイト上で無料ダウンロードと有料ダウンロードの両方が利用できることです。
私はApacheを使用していませんが、NGINXは上記の内容を適用しますか? –
また、シンボリックリンクはちょっとハッキーなようです...もっと標準的なアプローチがそこにありますか? –