2016-04-28 26 views
-1

簡而言之,我有一個網頁,允許用戶將文件上傳到我的網站,然後顯示他們上傳的任何鏈接。如何防止人們將有害文件上傳到我的網站?

上傳允許上傳任何文件類型,並將其存儲在名爲「uploads」的公用文件夾中。

我可以預見這會帶來很多安全風險。例如,如果用戶上傳HTML文件,則在打開時它會呈現爲網頁 - 它們可能會重定向到此處的病毒等。

我希望網站儘可能開放 - 我喜歡上傳者允許用戶將網頁添加到我的網站。但是,我需要它爲用戶(和我)提供安全和安全的保護。

如何讓網站儘可能開放(允許用戶儘可能多的自由)而不會受到黑客的攻擊?

+1

這就是我們都想要的......自由與安全...... –

回答

1

有你需要考慮的,選擇多個事情,永遠適合您的軟件需求:

  1. 不要讓那些如HTML,PHP,CGI
  2. 可執行文件,如果允許這些文件然後在該目錄中停止任何腳本執行(這將通過.htaccess完成)如果您希望允許html,則停止任何服務器端腳本(如PHP)。
  3. 而不是直接鏈接到這些文件。像通過PHP頭部處理一樣通過服務器發送文件。通過這種方式,該文件將作爲下載文件發送,攻擊者不會直接鏈接到該文件,因此他無法執行該文件。
+0

我會建議將文件保存在公共目錄之外(I.E在'public_html'之外)。也可以爲每個上傳文件創建一個隨機名稱,不帶擴展名(將原始文件保存在數據庫中),並僅在答案的第3部分提供來自腳本的原始文件名。我還在服務器上安裝了[ClamAV](http://www.clamav.net/),並使用命令行掃描上傳到服務器的每個文件 –

相關問題