保護授權使用者可供下載的敏感文件至關重要。透過實施多層保護,您可以保護敏感文件免遭未經授權的存取。
除了透過.htaccess 限製資料夾存取並隱藏下載資料夾以防止直接存取之外,請考慮以下建議:
將檔案儲存在Web 根目錄之外:
將敏感檔案移到Web 根目錄之外,使其無法直接存取通過URL。
透過腳本處理下載:
建立一個 PHP 腳本,在驗證使用者的存取權限後處理下載過程。這可確保透過腳本強制下載,從而消除資料夾暴露的需要。
範例PHP 程式碼:
if (!isset($_SESSION['authenticated'])) { exit; } $file = '/path/to/file/outside/www/secret.pdf'; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit;
其他安全措施:
透過遵循這些準則,您可以顯著增強可下載檔案的安全性,確保其機密性並防止惡意嘗試。
以上是如何僅保護經過驗證的使用者的可下載檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!