【发布时间】:2017-06-27 01:58:53
【问题描述】:
简单地说:
外部 Javascript 代码能否注入托管在页面 DOM 中第三个不同域上的另一个脚本?
例如:
给定 foo.com 网站,有一个 html 脚本标签,其 src 设置为 http://bar.xyz/script.js。script.js 可以注入 http://qux.net/abc.js(托管在 qux.com) 吗?
http://foo.com/
<script src="http://bar.xyz/script.js"></script>
// Content of bar.xyz/script.js:
!(function(){
var k = document.createElement('script')
, s = document.getElementsByTagName('script')[0];
k.type='text/javascript'; k.async=true;
k.src = document.location.protocol+'//qux.net/abc.js';
s.parentNode.insertBefore(k,s);
//…
})();
我无法让 abc.js 被注入,也没有错误/警报接缝弹出到控制台。
此处是否适用任何安全限制政策?
我仍在寻找有关此的文章或 SO 线程...
谢谢。
【问题讨论】:
标签: javascript browser cross-domain