這裏的問題是細節:使用PHP創建動態,expireable和斷點續傳的下載鏈接,appache
1)我想根據創建動態(IP),下載鏈接。因此,用戶不能使用相同的下載鏈接下載具有不同IP的文件。
2)之前開始實際的下載,我想用PHP來記錄這些下載請求,並進行一些檢查(檢查HTTP參照),以允許用戶下載的實際文件。
3)我也想下載的文件是可恢復的,並且可以與下載管理器進行下載(有多個下載實例)。還希望限制每次下載允許的最大實例數。
4)的文件大小可能超過200點的MB。
所以,這我想到的解決辦法是建立與用戶的IP的MD5哈希的下載鏈接。例如。 http://yourdomain.com/download.php?ip_hash=hash-of-the-ip&file=file-to-download
這只是一個例子,但我們也可以使用htaccess創建一個很好的鏈接。
我應該做的下一步是什麼?我試圖使用
header("Content-Type: $ctype");
header("Content-Length: " . filesize($file));
header("Content-Disposition: attachment; filename=\"$fileName\"");
readfile($file);
但是,使用此下載不會保持對最終用戶是可恢復的。
這是精細使用這種方法來發送大文件?
做了一些研究之後,我才知道,該.exe文件已損壞,使用這種方式的最終用戶。
請告訴我所有這些問題的最佳解決方案。
在此先感謝。
你要確保你鹽散列否則用戶可以從別的地方簡單地通過與他們的新IP的MD5替換它下載。 –
https://tn123.org/mod_xsendfile/ – goat
如果用戶沒有靜態IP地址會怎麼樣?也許最好是實施一個用戶帳戶系統。 –