为什么这个toDataURL行出现安全错误?

时间:2011-09-02 05:07:13

标签: security html5 canvas

如果来自其他网站的图像被加载到页面,然后作为复合材料中的部分成分写入画布,则使用:

context.drawImage(image, 0, 0, w, h);

在画布的绘制中,似乎已经发生任何不安全的事情。 那么为什么呢

window.location = canvas.toDataURL('image/png');

出现错误消息。 SECURITY_ERR; DOM异常18.它似乎似乎比在其他地方首先保存外部站点映像的额外步骤更加不安全。

我的问题不是如何绕过这个,如此多,或错误意味着什么,而是

为什么这种不安全?如果服务器加载了该页面,则作者肯定会采取行动。

1 个答案:

答案 0 :(得分:5)

根据spec,如果来自一个源的脚本可以从另一个源上的图像访问信息(例如读取像素),则可能发生信息泄漏。令人担心的是,恶意应用程序可以通过加载来自另一个域/来源(轻松完成图像)和读取像素内容的图像来推断其无法访问的信息。 XHR具有防护XD泄漏的保护措施。图像没有。