我正在建立什么是简单的chrome扩展,添加我的脚本到所有页面用户访问像这样
在contentscript.js中:
var s = document.createElement('script');
s.src = 'https://localhost:3000/js/hack.js';
s.onload = function() {
this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);在rails后端,有简单的登录密码和通过devise gem的oauth授权。
如果我在rails页面上授权,然后在hack.js中授权,我会尝试通过XMLHttpRequest对本地服务器进行一些ajax调用-它会尽力确保用户没有被授权。
我打赌它可以通过在某个地方打开看不见的iframe来解决,但这是您的痛苦,也许还有更方便的方法?
发布于 2015-02-08 22:32:03
要进行授权请求,您可能需要在XHR中获取脚本,在XHR中可以添加各种auth头。然后,脚本可以是injected as inline code,而不是提供src。
请注意,内容脚本可以对清单中包含host permissions的所有站点执行跨域XHR,即使页面不允许这样做。
由于页面的内容安全策略可能会禁止在src中注入带有URL的脚本,但可以将其作为内联脚本sort of bypasses CSP注入,因此不管怎样,这都是一个更好的方法。
https://stackoverflow.com/questions/28392285
复制相似问题