使用Django 提供可下載文件
網站上的用戶通常需要能夠下載文件,但保護文件並防止直接下載是很困難的至關重要的。一種解決方案是隱藏檔案路徑,以便使用者無法直接存取它們。
要達到此目的,請建立一個包含參數的 URL,例如:
假設可下載檔案駐留在資料夾 /home/user/files/ 中。 Django 可以設定為提供文件下載服務,而不需要特定的 URL 和視圖來顯示文件。
X-Sendfile 模組提供了最佳解決方案。它允許 Django 定位檔案並指定其標頭,而實際的檔案服務由 Web 伺服器(例如 Apache、Lighttpd)處理。安裝並配置 mod_xsendfile 後,將其與您的視圖整合:
請注意,此方法需要伺服器控製或支援 mod_xsendfile 的託管公司。
其他注意事項:
以上是Django 如何使用 X-Sendfile(或 X-Accel-Redirect)安全地提供可下載檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!