如果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下来处理。