Chrome扩展程序 - 禁用阻止混合内容

时间:2016-04-01 05:16:28

标签: google-chrome security google-chrome-extension https

因此,我正在构建一个Chrome扩展程序,该扩展程序从当前选项卡中获取图像,并将这些图像发送到服务器以托管图像。它适用于许多网站,但在Instagram和Pinterest等主要网站上,由于浏览器阻止混合内容(HTTP和HTTPS),因此无法正常工作。我在控制台中收到以下错误消息:

 Mixed Content: The page at 'https://www.instagram.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint. This request has been blocked; the content must be served over HTTPS.

我查看了这篇文章,它似乎没有帮助我解决有关扩展的问题:https://productforums.google.com/forum/#!topic/chrome/OrwppKWbKnc

另外,我尝试将服务器URL添加到manifest.json中的权限,这对我没有任何帮助。

我的问题是:我有没有办法让Chrome扩展程序只为我的服务器提供混合内容,或者是我将服务器切换到HTTPS的唯一选择?

1 个答案:

答案 0 :(得分:8)

如果您从内容脚本发送http请求,因为它与网页位于同一上下文中,它将受SOP限制,这是浏览器行为。

您可以将您的http请求从content scripts移至background pageMessage Passingbrowser Action之类的其他触发器),因为background page生活在扩展的上下文,而扩展本身可以通过向权限添加服务器URL来绕过SOP。