gpt4 book ai didi

javascript - Chrome 扩展程序 : Possible to Inject External JavaScript in Secured Pages?

转载 作者:行者123 更新时间:2023-11-28 08:24:27 25 4
gpt4 key购买 nike

我一整天都在扯头发。

我正在为 Facebook 创建一个工具。

我正在尝试将远程 Javascript 注入(inject)我的 Chrome 扩展程序中。

它似乎适用于除 Facebook.com 之外的所有其他网站,因为 http 协议(protocol)是安全的:HTTPS

当我浏览其他不使用 HTTPS 的网站时,脚本被注入(inject)

是否无法注入(inject)外部 JavaScript 来为安全站点提供动态内容?

我使用以下代码来注入(inject)外部js:

app.js(扩展的一部分)

加载以下内容:

chrome.tabs.executeScript(tabId, {file: "js/loadexternal.js"});

然后/js/loadexternal.js 执行以下操作:

var s = document.createElement('script');
s.type = 'text/javascript';
s.src ='https://www.website.com/loader.js?client=tacx';
document.getElementsByTagName('head')[0].appendChild(s);

请注意:我还从安全 (HTTPS) 服务器加载远程脚本。没有帮助!

只要我不在安全页面上,就会加载 loader.js 文件...

但它无法在 Facebook 上加载,而 Facebook 似乎始终使用 HTTPS 协议(protocol)。

请帮助我。谢谢。

PS> 有没有办法在我的 FB 工具扩展中显示动态编译的结果?

最佳答案

如果您查看 Facebook 页面上的 HTTP 响应 header ,您将看到以下行:

content-security-policy: default-src *;script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net *.atlassolutions.com;style-src * 'unsafe-inline';connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net https://fb.scanandcleanlocal.com:* *.atlassolutions.com http://attachment.fbsbx.com https://attachment.fbsbx.com;

Facebook 的安全策略不允许来自不属于此列表的域的脚本,因此我认为您无法从您的扩展程序加载外部脚本。

如果该 header 不存在,您通常可以包含在 https:// 协议(protocol)上托管的脚本。

关于javascript - Chrome 扩展程序 : Possible to Inject External JavaScript in Secured Pages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22585668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com