默認情況下,服務器上可用的許多文件夾,如「public_html」,「public_ftp」或簡單的根,哪一個是最好的安全地上傳和存儲用戶的圖像,我也可以添加一個鏈接到MySQL數據庫?什麼是服務器上傳圖片的最佳位置?
回答
如果您的客戶通過http表單上傳圖片,請將其存儲在public_html中,如果他們需要從網頁訪問它。
文檔根目錄內的任何文件夾都可以。如果你希望它是安全的,請確保您的腳本只接受允許的文件類型,並作爲另一項措施,把一個.htaccess文件,該文件夾內:
<FilesMatch "*.php">
SetHandler None
</FilesMatch>
這將確保該目錄內執行任何獲取的。
,我建議你將文件保存在某處「的public_html」,並創建以下文件,以限制公衆獲取:
文件:上傳/的.htaccess
deny from all
在你的PHP腳本,你可以發送這些文件僅限於有權訪問的用戶。
在我看來,將其存儲在之外的的公共htdocs文件夾中。這是因爲如果有人設法上載圖像文件以外的任何東西(比如邪惡的PHP腳本),他們將無法調用它(並且不會運行)。
如果你的public_html文件夾是說/path/to/website/public_html
我把它們存儲在/path/to/website/uploaded_images
此外,請確保您進行驗證,以便它使用允許的圖片名稱(比如只允許的白名單。 JPG,.gif和巴紐)
編輯: 您還需要創建打開圖像文件,並通過回給用戶
然後,上傳的圖像也將不可用。 – 2011-05-19 11:57:35
我忘了提及創建一個腳本來傳遞圖片,編輯我的帖子 – fin1te 2011-05-19 11:58:53
然後使用腳本顯示圖片。 – Prikkeldraad 2011-05-19 11:59:46
安全的定義是通過一個腳本。
如果您想要在網站上顯示這些圖像,顯然這將是public_html
中的一個文件夾,除非您想使用向用戶呈現圖像的腳本,可能會即時更改圖像,更改緩存標頭等。然後,您可以將該文件夾移到docroot之外的任何位置,腳本將可以訪問這些文件。
就我個人而言,我將用戶圖像,文件和docroot中的所有內容保存在.htaccess
的保護下,並通過處理用戶權限的腳本進行訪問(如有必要)。這些文件位於/uploaded
文件夾中,子文件夾深度最多可達2層,每個「層」最多可存儲1024個文件/文件。文件僅由它們的ID命名,沒有任何擴展名,所有文件信息都存儲在數據庫中。花了一些時間來實現,但幸好這是一個可重用的代碼。
- 1. 上傳文件到服務器的最佳方式是什麼?
- 2. 將圖片上傳到Amazon S3服務的最佳節點模塊是什麼?
- 3. Android:將圖像上傳到服務器的最佳HTTP庫是什麼?
- 4. symfony2:什麼是服務內查詢的最佳位置?
- 5. 什麼是使用cakephp上傳圖片的最佳方式1.3
- 6. Tomcat Web服務器的最佳設置是什麼?
- 7. 什麼是獲取用戶位置服務器端的最佳方式
- 8. 什麼是跨瀏覽器截圖的最佳服務?
- 9. 在網站上上傳和存儲圖片的最佳方式是什麼?
- 10. 跟蹤Aframe中傳送位置的最佳方式是什麼?
- 11. 上傳圖片在服務器上iPhone
- 12. 將移動設備上的照片文件(字節)傳輸到Web服務器的最佳策略是什麼?
- 13. AWS - 什麼是PHP服務器的最佳縮放觸發器?
- 14. 要上傳圖片的服務器
- 15. 上傳圖片到服務器的android
- 16. Android的圖片上傳AWS服務器
- 17. 上傳許多(2000 +)圖像到服務器的最佳實踐
- 18. 在Swift上擦除圖片的最佳方法是什麼?
- 19. 上傳到圖片重型網站的最佳方式是什麼?
- 20. 處理大量上傳圖片的最佳目錄結構是什麼?
- 21. 通過C#中的web服務傳輸圖像的最佳方式是什麼?
- 22. 上傳圖片和位置
- 23. 什麼是服務器設計模式/最佳實踐的最佳來源?
- 24. 圖片上傳到服務器在android
- 25. 上傳圖片到服務器
- 26. [Android] - 將圖片上傳到服務器
- 27. 圖片上傳到laravel服務器iOS
- 28. 上傳圖片到服務器
- 29. 圖片上傳iphone到php服務器
- 30. Xamarin:將圖片上傳到服務器
忘記詢問存儲限制。如果我有無限的空間是爲所有文件夾或它只適用於FTP?謝謝 – Kourosh 2011-05-19 12:00:50