如果将来自另一个站点的图像加载到页面,然后将其作为合成中的部分成分写入画布,请使用:
context.drawImage(image, 0, 0, w, h);
似乎任何不安全的事情都已经在画布上发生了。
那为什么会
window.location = canvas.toDataURL('image/png');
显示错误消息。安全错误; DOM 异常 18。它没有seem比首先将外部站点图像保存在其他地方的额外步骤更不安全。
我的问题不是如何解决这个问题,或者错误意味着什么,而是,
为什么这是不安全的?如果该页面是由服务器加载的,那么该操作肯定是作者所期望的。
根据spec,如果来自一个来源的脚本可以访问来自另一来源的图像的信息(例如读取像素),则可能会发生信息泄漏。令人担心的是,恶意应用程序可能会通过从另一个域/源加载图像(可以轻松完成图像)并读取像素内容来推断出它无法访问的信息。 XHR 内置了保护措施以防止 XD 泄漏。图像则不然。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)