我正在開發一個項目,該項目將允許用戶創建帖子並上傳照片供公衆查看。我需要做些什麼來確保正在上傳的圖像不是惡意的?惡意照片上傳檢測和預防
我環顧四周,有一些不同的想法拋出。一些想法是調整圖像大小,檢查MIME類型並剝離元數據。考慮到惡意用戶和近期病毒傳播的進展,它們似乎都不夠。
任何人都可以爲此提出最佳做法嗎?
我正在開發一個項目,該項目將允許用戶創建帖子並上傳照片供公衆查看。我需要做些什麼來確保正在上傳的圖像不是惡意的?惡意照片上傳檢測和預防
我環顧四周,有一些不同的想法拋出。一些想法是調整圖像大小,檢查MIME類型並剝離元數據。考慮到惡意用戶和近期病毒傳播的進展,它們似乎都不夠。
任何人都可以爲此提出最佳做法嗎?
通過JavaScript可以通過使用Canvas來完成(確定width
,height
和callback
- 功能):
var img = new Image();
img.onload = function() {
var o = jQuery('<canvas width="' + width + 'px" height="' + height + 'px" />')
var ctx = o[0].getContext("2d");
ctx.drawImage(img, 0, 0, width, height);
callback(o[0].toDataURL("image/png"), width, height);
o.remove();
};
在服務器上存在相當多的不同的技術來驗證圖像,請澄清你的服務器語言。
似乎你的問題與https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 –
感謝您的意見。你提到的帖子是關於sql注入的。我在尋找的是防止用戶使用我們的圖片上傳器上傳帶有圖片擴展名(.jpg,.png等)的文件,但該文件真的是病毒。 – AkivaL
對於病毒防護只是使用:'$ clamAv = ClamAv :: createClamAvDefaultConfig(); $ clamAv-> checkArrayOfFiles($ _ FILES);' – FieryCat