首页 > 关于被污染的canvas(tainted canvas)的问题

关于被污染的canvas(tainted canvas)的问题

如果canvas中绘制了跨域请求到的图片,就被污染‘taint’了,这时不能再调用toBlob(), toDataURL()和getImageData()等方法, 否则会抛出安全错误(security error).

也就是说通过canvas无法获取其它域图片的内部信息。

This protects users from having private data exposed by using images to pull information from remote web sites without permission.

from: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

我不是很明白,这能解决什么安全隐患呢?

如果仅仅是一张图片,通过curl的方式或动态截屏的方式,很容易获取图片内容。
如果图片中保存了其它隐藏信息,如源代码 :) 也可以curl下来处理。

【热门文章】
【热门文章】