我有關於阻止下載和保存上傳文件的問題。將上傳的文件轉換爲無法下載的特定文件格式
我的用戶可以上傳多個文件類型,如DOC,PDF,PPT等....
此,如果任何一個有網址所有文件類型輕鬆下載。
那麼有什麼更好的方法來防止文件的下載。
或者我上傳的文件轉換爲不能方便地下載一些特定的格式(例如閃存)..
我PHP和MySQL運行。
感謝
阿維納什
我有關於阻止下載和保存上傳文件的問題。將上傳的文件轉換爲無法下載的特定文件格式
我的用戶可以上傳多個文件類型,如DOC,PDF,PPT等....
此,如果任何一個有網址所有文件類型輕鬆下載。
那麼有什麼更好的方法來防止文件的下載。
或者我上傳的文件轉換爲不能方便地下載一些特定的格式(例如閃存)..
我PHP和MySQL運行。
感謝
阿維納什
您在這方面有兩種選擇。首先是通過PHP腳本將文件移動到服務器Web目錄之外的服務器端文件夾。第二種是將文件存儲在MySQL表中的BLOB列中。兩者都將阻止用戶直接訪問文件,而無需將文件轉換爲不易下載的格式。
上傳文件根目錄之外的文件。例如:
/var/username/uploads/file.docx
在您的文檔根目錄爲
/var/username/public_html/index.php
因此他們不能直接訪問。然後,如果你想允許下載,創建一個名爲「的download.php」一個PHP文件類似的東西:
$data = file_get_contents('/var/username/uploads/file.docx');
header('Content-Type: application/docx');
header('Content-Length: '.strlen($data));
header('X-Content-Type-Options: nosniff');
echo $data;
,顯然你可以添加檢查,以查看用戶是否具有適當的權限下載此特定文件或已登錄。
解決方案可以將用戶和密碼設置爲上傳文件夾,因此只有知道驗證細節的用戶才能下載文件。 檢查下一個鏈接,瞭解如何使您的服務器文件夾的htpasswd文件:
http://httpd.apache.org/docs/1.3/programs/htpasswd.html
考慮會發生什麼,如果我上傳的PHP文件 – Cheekysoft 2010-03-04 09:56:41