2013-01-12 108 views
0

我曾經在許多網絡應用程序中允許一個人上傳和顯示圖像(如個人資料圖像,背景圖像等)。我遇到的一個問題是,您通常會提供用戶可以使用的特定格式(即jpg,png,jpeg,gif等)。保存沒有擴展名的圖像

問題是,假設你有個人資料圖片,有些人可能會上傳一個jpeg,一些png和一些gif。你應該用什麼格式保存文件?即'profile.jpeg','profile.png'或簡單地'簡檔'。

我注意到,你可以簡單地排除文件擴展名,瀏覽器打開圖像,但這是安全的嗎?

回答

0

文件擴展名未確定文件格式。您可以上傳一個以.png結尾的.gif文件,瀏覽器將毫無困難地顯示它。 (您也可以使用.exe或.foo或其他,並且圖像仍然會顯示。)

換句話說,擴展與安全無關。

另一方面,我並不知道將未知文件傳遞給瀏覽器以顯示圖像的安全風險。如果您有<img src="virus.exe">,瀏覽器將不會執行任何操作,因爲該文件不是有效的圖像文件。

如果您想確定,可以在服務器上檢查上傳的文件是否爲有效圖像,如果不是,則放棄。

相關問題