首頁  >  文章  >  後端開發  >  javascript - 如何建立一個臨時或有限時間內的下載連結?

javascript - 如何建立一個臨時或有限時間內的下載連結?

WBOY
WBOY原創
2016-12-01 00:56:551568瀏覽

有一個需求是用戶付費下載一個壓縮包,付費後可下載數次或無限次數。

那麼問題就來了

  1. 如何不暴露該壓縮包的路徑讓付費的人轉發給其它人下載?

  2. 讓下載連結有一個時間的限制?

我的想法是有一張表記錄付費用戶ID對應該壓縮包ID,只能讓該用戶下載。
但有其他或更好的方法嗎?
ps:PHP

回覆內容:

有一個需求是用戶付費下載一個壓縮包,付費後可下載數次或無限次數。

那麼問題就來了

  1. 如何不暴露該壓縮包的路徑讓付費的人轉發給其它人下載?

  2. 讓下載連結有一個時間的限制?

我的想法是有一張表記錄付費用戶ID對應該壓縮包ID,只能讓該用戶下載。
但有其他或更好的方法嗎?
ps:PHP

整理了一下思路,僅僅理論上參考,大致分析如下:
一個用戶表,一個資源表,一個記錄表。記錄表記錄使用者是否付費下載次數,下載時間等資訊。
以上資訊你應該是清楚的,就是跟你描述的大致差不多。主要問題應該就是下載資源路徑的處理的問題,以及權限的處理


使用者操作流程應該是:

資源清單 - 付費資源詳情 - 建立付費資源記錄 - 產生靜態下載連結或動態連結

不暴露資源連結

下載連結非常見的資源路徑,應該是一個動態的路徑,為了關聯資源,我們需要附帶一個記錄ID

<code>    // 非
    ……resname.zip
    // 是
    index.php?id=1&…</code>

下載連結有時間限制

有時間限制肯定需要時間比對,下載前在控制器內比較當前時間與創建記錄時間以及有效期的一個綜合比較,過期即直接不允許繼續後續下載

只能當前使用者下載

下載連結的控制器內肯定需要判斷使用者是否登錄,以及記錄ID中的付費使用者ID是否與目前登入ID一致,一致才允許下載,否則不允許下載

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn