ホームページ  >  記事  >  バックエンド開発  >  JavaScript - 一時的または期間限定のダウンロード リンクを作成するにはどうすればよいですか?

JavaScript - 一時的または期間限定のダウンロード リンクを作成するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-12-01 00:56:551523ブラウズ

ユーザーは、圧縮パッケージをダウンロードするには料金を支払う必要があります。支払い後は、何度でも、無制限でもダウンロードできます。

そして問題が起こります

  1. 支払者がダウンロードのために圧縮パッケージを他の人に転送できるように、圧縮パッケージのパスが公開されるのを防ぐにはどうすればよいですか?

  2. ダウンロードリンクに期限を設けますか?

私のアイデアは、圧縮パッケージ ID に対応する有料ユーザー ID を記録するテーブルを用意し、このユーザーのみがダウンロードできるようにすることです。
しかし、別の、またはより良い方法はありますか?
追記:PHP

返信内容:

ユーザーは、圧縮パッケージをダウンロードするには料金を支払う必要があります。支払い後は、何度でも、無制限でもダウンロードできます。

そして問題が起こります

  1. お金を払った人が圧縮パッケージをダウンロードするために他の人に転送できるように、圧縮パッケージのパスの公開を避けるにはどうすればよいですか?

  2. ダウンロードリンクに期限を設けますか?

私のアイデアは、圧縮パッケージ ID に対応する有料ユーザー ID を記録するテーブルを用意し、このユーザーのみがダウンロードできるようにすることです。
しかし、別の、またはより良い方法はありますか?
追記:PHP

理論上の参考のために私のアイデアを整理しました。一般的な分析は次のとおりです:
ユーザー テーブル、リソース テーブル、およびレコード テーブル。記録テーブルには、ユーザーがダウンロード料金を支払ったかどうか、ダウンロード時間、その他の情報などの情報が記録されます。
上記の情報は、あなたが説明した内容とほぼ同じであることを明確にしておいてください。主な問題は、ダウンロード リソースのパスと権限の処理です


ユーザー操作プロセスは次のようになります:

リソースリスト - 有料リソースの詳細 - 有料リソースレコードの作成 - 静的ダウンロードリンクまたは動的リンクの生成

リソースリンクを公開しないでください

ダウンロード リンクは非常に一般的なリソース パスです。リソースを関連付けるには、レコード ID を添付する必要があります。 リーリー

ダウンロードリンクには期限があります

時間制限があり、ダウンロードする前に、現在の時間をコントローラー内の作成記録時間と有効期限と比較する必要があります。期限が切れると、それ以降のダウンロードは続行できなくなります。

現在のユーザーのみがダウンロード可能

ダウンロード リンクの管理者は、ユーザーがログインしているかどうか、およびレコード ID 内の有料ユーザー ID が現在のログイン ID と一致しているかどうかを判断する必要があります。一致している場合にのみダウンロードが許可され、一致していない場合はダウンロードが許可されません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。