回答
你應該做進一步的輸入驗證你的文件,如:
-check文件大小
- 檢查文件類型與一個「文件類型識別器」
-check內容頭
您還可以檢查的最佳實踐文件上傳這裏: https://www.owasp.org/index.php/Unrestricted_File_Upload
決不日運行e服務器上的文件。
檢查內容類型(我從來沒有做過的BTW這個我自己),你可以嘗試像soemthing:
$file = "path2file";
$finfo = new finfo(FILEINFO_MIME);
$type = $finfo->file($file);
if(in_array($type,array("application/zip", "application/x-zip", .. whatever content types are ok...)))
//you passed
請查看它已經檢查了擴展名$ ext = explode('。',$ files ['name'] [$ i]); $ ext = strtolower(end($ ext));然後我也檢查文件MIME類型我存儲數據在數據庫中。 – 2013-03-16 05:11:17
我做了我的壞事,我更新了我的答案後,我也看到了 – Tucker 2013-03-16 05:12:11
你可以告訴我例如內容頭?所以我可以實現它 – 2013-03-16 05:14:16
是的,你的方法是安全的。因爲所有文件都將上傳到Web根目錄之外。沒有人可以通過URL直接訪問它。
- 1. PHP文件上傳,安全?
- 2. 安全的PHP文件上傳腳本
- 3. PHP上傳文件增強安全性
- 4. php上傳文件安全問題?
- 5. PHP文件圖片上傳安全
- 6. 安全地上傳文件C#/ PHP
- 7. 文件上傳和安全
- 8. 安全文件上傳ASP.net
- 9. PHP文件上傳 - 文件類型的最佳安全選項?
- 10. 安全圖片上傳PHP
- 11. 安全圖片上傳PHP
- 12. Laravel 5安全上傳文檔文件
- 13. PHP文件 - 安全
- 14. 安全PHP文件
- 15. 在Wordpress中安全上傳文件
- 16. 是file_put_contents安全上傳文件
- 17. Silverlight文件上傳:這是安全嗎?
- 18. 文件上傳Spring Webflow 2.3和安全
- 19. 上傳文件並保持安全
- 20. 上傳文件安全Laravel 5.1
- 21. RoR上傳文件安全問題
- 22. 文件上傳安全關注
- 23. 用Qt安全文件上傳
- 24. 安全高效的文件上傳器
- 25. 使ASP.Net文件上傳安全
- 26. asp.net mvc文件上傳安全漏洞
- 27. 安全文件上傳和驗證它
- 28. PHP文件上傳的非持久性PHP文件 - 最安全的方式?
- 29. 如何上傳前用PHP來獲得安全的文件名
- 30. 我的php文件上傳安全性有多強?
請不要使用mysql_ *功能那些deprricated檢查這個http://meta.stackexchange.com/a/171640/176320 – 2013-03-16 05:10:27
@ranjith你可以發佈代碼的和平,以便我可以使用它嗎?因爲它對我來說工作得很好。 – 2013-03-16 07:14:25