[英]Prevent direct access to files like an EDM(?)
我有一個由多個用戶使用的 php 網絡應用程序。 他們可以在一個目錄中上傳文件:“files”創建一個子目錄,並使用賦予用戶“foo”的唯一名稱並存儲文件,因此:mydomain.com/files/foo/thefilename.doc
它可以工作,但為了防止直接訪問該文件並防止其他用戶訪問他們不屬於的文件,我放置了一個 .htaccess 文件:
Order Deny,Allow
Deny from all
它有效但是,在我的網絡應用程序中,如果用戶“foo”想要訪問和顯示他的文件,他會收到 403 錯誤。
我該怎么做(如 EDM 電子文檔管理)來存儲文件以防止直接訪問但向正確的用戶提供訪問權限?
非常感謝
您可以通過使用 PHP 動態獲取並呈現文件內容來實現。
也許是這樣的:
$filename = $_GET['filename'];
// TODO: fill $allowedFiles[];
if (!in_array($filename, $allowedFiles))
exit;
header('Content-Type: text');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');
echo file_get_contents($filename);
當然只是概念
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.