0
我需要驗證一個文件是否爲圖像。 我應該檢查內容類型或分機?什麼更安全/更好? 我認爲檢查擴展是否更好 - 您怎麼看?文件驗證 - 內容類型或擴展名?
string ext = System.IO.Path.GetExtension(fileName).ToLower();
我需要驗證一個文件是否爲圖像。 我應該檢查內容類型或分機?什麼更安全/更好? 我認爲檢查擴展是否更好 - 您怎麼看?文件驗證 - 內容類型或擴展名?
string ext = System.IO.Path.GetExtension(fileName).ToLower();
如果你所關心的圖像文件,然後內容類型是要走的路。
但是......
如果你關心圖像類型,則必須通過擴展檢查,因爲真的是從內容類型到文件擴展名沒有真正的映射。例如,可將內容類型「image/jpeg」映射到.jpg或.jpeg。
但是,如果你在談論檢查由用戶上傳的文件,這兩種方法都是不安全因爲其依賴於用戶輸入。見OWASP: Unrestricted File Upload。
感謝編輯@CodeCaster。你太棒了! –
既不是這兩者都是用戶提供的。請參閱[確定上傳的文件是否爲MVC上的圖像(任何格式)](http://stackoverflow.com/questions/11063900/determine-if-uploaded-file-is-image-any-format-on-mvc)。 – CodeCaster