2012-08-30 51 views
1

我想實現,每一個用戶都有一個唯一的文件夾,用戶的系統(PHP), 用戶可以上傳到該文件夾​​的任何文件,並稍後再下載。(apache)如何使文件夾內容僅可下載? (把所有的文件下載對象ONLY)

電流限制是:文件名中「的htaccess」的字符串替換「hhtaccesss」。 沒有創建子文件夾。

我的問題:是否有任何方式(.htaccess或其他)使這些文件僅用於下載目的?爲了確保這些未知文件都不會在系統上運行?

子問題沒有任何危險,壓縮/解壓縮這些文件?

例如:如果用戶鍵入一個網址指向一個PHP文件,系統將無法處理該文件(這可能是有害的),而是僅僅「提供」它給用戶? 同所有類型的腳本/文件..

+0

可以停止PHP文件被解析爲通過的.htaccess PHP。 – 2012-08-30 03:57:17

+1

但所有其他類型呢?有太多了。 CSS,JS,ASP ...我想更多然後100.必須是一種將所有文件視爲奇怪對象的方式。 –

+0

應該工作:'ForceType指令的應用程序/八位字節流 頭設置內容處置attachment'那些2線 – 2012-08-30 04:10:07

回答

1

在相應的目錄中的.htaccess添加

ForceType application/octet-stream 
    Header set Content-Disposition attachment 

應該強制瀏覽器下載任何文件,無論類型。可以使用<FilesMatch ..如果你想保留一些完整的。

+0

謝謝,這看起來像什麼我搜索。 –

1

解決的辦法之一是:不直接暴露文件。例如。將它們存儲在非公共目錄中並通過另一個頁面提供,例如, download.php,它可以讀取文件內容,然後用「Content-Disposition:attachment」輸出並提供它們。頭。

+0

所以,如果我這樣做,我可以申請(在.htaccess)「從所有拒絕」的所有文件,它仍然會工作?如果答案是肯定的,你解決了我的問題:) –

+0

這是標準的方式,但我的解釋稍有不同。 – 2012-08-30 04:17:23

+0

@ Dagon是的,但這裏的問題不是瀏覽器,而是服務器執行文件。我沒有足夠的.htaccess經驗,但是如果你上傳test.php,然後請求它,它會執行,然後以附件的形式給你輸出,或者它會以附件形式返回文件嗎? – valentinas

相關問題