2012-10-22 32 views
0

我使用基於html5 canvas的圖像上傳與base64編碼(默認)。服務器端:發佈請求時,base64頭文件將被刪除,base64_decode函數(根本不使用eval php函數)被應用並直接保存爲jpg文件系統。html5直接文件上傳安全風險?

由於我將上傳的文件保存爲上傳內容的完整副本。如果用戶上傳僞裝成jpg的惡意php/js文件,並且訪問者認爲不好的jpg是安全風險?如果是,我會用gd處理上傳的文件。經過Gd處理後,我認爲這些將會消失。

+0

安全風險爲誰? – MaVRoSCy

+0

對我或用戶而言,但不會改變結果,因爲解決方案正在使用gd處理所有上傳。 – opteronn

回答

0

由於我將上傳的文件保存爲上傳內容的完整副本。

然後你所有任何類型的文件上傳的處理,當你的問題。這裏沒有什麼特定的HTML 5。

如果用戶上傳僞裝成jpg的惡意php/js文件,並且訪問者認爲壞jpg是安全風險?

假設你有image/jpeg內容類型提供它通過HTTP - 沒有。

但是,過去在圖像庫中存在基於緩衝區溢出漏洞的問題,因此理論上可能(儘管不太可能)特製JPEG可以利用終端查看器系統中的安全漏洞。

+0

「假設您通過HTTP以圖像/ jpeg內容類型 - 否提供它。」我不認爲答案是直接的不,這就是爲什麼問。 – opteronn

+0

@opteronn - 考慮到這種情況和假設,答案*是一個直接的「否」。 「 – Quentin

+0

」然後,你在處理任何類型的文件上傳時遇到了所有問題,這裏沒有特定的HTML 5。 html5,因爲toDataURL()方法中默認使用base64編碼。 – opteronn