2010-01-24 68 views

回答

1

最好的方法是確保您的上傳目錄不在您的webroot中。只要網絡服務器具有讀/寫訪問權限,您就可以正常使用 - 不用擔心可執行文件上傳。這被討論了here on stackoverflow

+0

+1對於一個很好的答案...最好的方式(好,至少和在webroot下無法上傳一樣好)可能會完全禁用該目錄下的php。這種解釋如何(足以去查看文檔中的更多細節):http://www.faqts.com/knowledge_base/view.phtml/aid/128/fid/35 – Fredrik 2010-01-24 16:39:56

1

最好的辦法是在上傳時驗證文件的擴展名。如果它不是jpg/png/gif/etc,請關閉它。只要你的網絡服務器沒有錯誤地將任何文件解釋爲一個PHP文件,那麼採用這種方法你就不會受到傷害,只需很少的頭痛和很簡單的實現。

-3

我認爲,如果你不檢查上傳的文件類型,這可能是危險的,例如, 「黑客」上傳一個php文件,刪除所有的httpdocs文件,或者人們可以上傳到許多或大文件。

0

只有讓用戶上傳任何他們想要的東西時,它纔是危險的。只允許決定是安全的,你不需要阻止任何東西。

1

檢查正在上傳的文件是否具有良性擴展名(.gif,.mp3等) - 並垃圾其他內容。對於額外的sekrit保護,將文件的原始名稱捕獲到數據庫中(以備將來參考),然後對文件名進行加密(並將其保存)。這樣,上傳者就無法通過文件名找到上傳的內容。

+0

這不會是那麼好一種方法來做到這一點。正如我可以創建我想要的並將其另存爲.mp3文件一樣......然而,您的第二個建議非常聰明。 – Joe 2010-01-24 17:16:33

+0

如果使用mp3擴展名將其上傳到服務器,則服務器在再次調用服務器時不會執行它 - 並且使用加密,這種方式無關緊要。 – 2010-01-25 21:13:43

相關問題