最近小喵也遇到需求需要給外部的使用者進行上傳圖片,上傳圖片最怕的就是一般惡意的使用者,將別的檔案改附檔名,然後上傳,進行惡意的行為(例如轉址到不良網站),或者將不良的資料附加在一般圖檔的後面,除了圖檔變大外,該圖檔被瀏覽的時候,可能有些惡意的行為出現。為了解決這個問題,剛好在網路上看到一個相關的討論,小喵將之筆記下來,並特別與大家分享。
緣起
最近小喵也遇到需求需要給外部的使用者進行上傳圖片,上傳圖片最怕的就是一般惡意的使用者,將別的檔案改附檔名,然後上傳,進行惡意的行為(例如轉址到不良網站),或者將不良的資料附加在一般圖檔的後面,除了圖檔變大外,該圖檔被瀏覽的時候,可能有些惡意的行為出現。為了解決這個問題,剛好在網路上看到一個相關的討論,小喵將之筆記下來,並特別與大家分享。
解決方向
如何做這些惡意的行為不在此篇的討論地範圍,小喵這篇記錄下來如何因應之道,以備未來要處理時可以參考
方向一:依據上傳的副檔名,檢查檔案的前面幾個Byte
方向二:上傳後的檔案,用Stream讀入記憶體後,再另存為本來的檔案格式
相關的討論
相關討論與資訊請參考以下這幾篇
上傳圖檔Byte檢查:http://www.dotnetexpertguide.com/2011/05/validate-uploaded-image-content-in.html
以下是簽名:
- 歡迎轉貼本站的文章,不過請在貼文主旨上加上【轉貼】,並在文章中附上本篇的超連結與站名【topcat姍舞之間的極度凝聚】,感恩大家的配合。
- 小喵大部分的文章會以小喵熟悉的語言VB.NET撰寫,如果您需要C#的Code,也許您可以試著用線上的工具進行轉換,這裡提供幾個參考
Microsoft MVP Visual Studio and Development Technologies (2005~2019/6) | topcat Blog:http://www.dotblogs.com.tw/topcat |