如何透過增強保護保護檔案下載
您的目標是建立一個包含敏感文件的安全資料夾「docs」登入使用者可以下載。雖然您已經實施了各種安全措施,包括.htaccess 保護和透過PHP 隱藏下載,但您也可以採取其他步驟來增強安全性:
將檔案移到Webroot 之外:
為了防止直接連結到文件,請將它們移到網站的webroot 之外。這可以確保使用者無法繞過您的控制項並直接存取檔案。
使用 PHP 驗證使用者權限:
當使用者要求下載檔案時,使用 PHP 來驗證他們是否有適當的權限來存取它。這可以防止未經授權的下載。
範例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中文網其他相關文章!