当您从画布中的其他域放置图像时,画布会被污染,并且某些函数(如getDataURL或getImageData)将被禁用。
当您尝试使用此类功能时,会发生SECURITY_ERROR错误。
为什么要保护这个?什么样的攻击使用这种方法?
谢谢!
编辑:
我应该问:如何在攻击中使用来自其他域的图像? 我无法弄清楚为什么浏览器限制使用后的画布受到污染。
答案 0 :(得分:0)
这是一个跨域封锁,事实上您无法访问iframe内部页面中的元素等等......
编辑:
来自w3文档:
请注意,'src'或'data'属性中指定的URL必须为on 与网页相同的域并遵循相同的域规则(即 相同的协议,端口等);跨域对象插入不是 出于安全原因支持。
但我碰到了这个,也许你可以解决一些问题:
http://dev.w3.org/SVG/tools/svgweb/docs/UserManual.html#cross_domain
顺便说一句,java脚本中的跨域可以在较新的浏览器上运行,但是您需要拥有这两个域,并配置连接以使其被认为是可信的,请参见此处:
http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/