2010-03-04 45 views
1

我有關於阻止下載和保存上傳文件的問題。將上傳的文件轉換爲無法下載的特定文件格式

我的用戶可以上傳多個文件類型,如DOC,PDF,PPT等....

此,如果任何一個有網址所有文件類型輕鬆下載。

那麼有什麼更好的方法來防止文件的下載。

或者我上傳的文件轉換爲不能方便地下載一些特定的格式(例如閃存)..

我PHP和MySQL運行。

感謝
阿維納什

+1

考慮會發生什麼,如果我上傳的PHP文件 – Cheekysoft 2010-03-04 09:56:41

回答

2

您在這方面有兩種選擇。首先是通過PHP腳本將文件移動到服務器Web目錄之外的服務器端文件夾。第二種是將文件存儲在MySQL表中的BLOB列中。兩者都將阻止用戶直接訪問文件,而無需將文件轉換爲不易下載的格式。

1

上傳文件根目錄之外的文件。例如:

/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; 

,顯然你可以添加檢查,以查看用戶是否具有適當的權限下載此特定文件或已登錄。

相關問題