拒绝连接到[url],因为它违反了以下内容安全策略指令

时间:2012-12-09 11:18:23

标签: facebook google-chrome google-chrome-extension content-security-policy

我是Chrome扩展程序的作者,可以直接在Facebook上翻译状态更新和评论:https://chrome.google.com/webstore/detail/facebook-translate/plofenifjagmdikfcobngnfmmnfmphin

现在,我的用户和我在错误控制台中出现了错误:

  

拒绝连接到“https://api.microsofttranslator.com/V2/Http.svc/Translate?appId=&text=Chrome-Integration%3A+Google+bringt+Google+Now+auf+Desktop-PCs&to=en&contentType=text%2Fhtml”,因为它违反了以下内容安全策略指令:“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“。

在我的Chrome扩展程序中,我确实将内容安全策略设置如下:

  

“content_security_policy”:“script-src'self'https://ssl.google-analytics.com; object-src'self'”

然而,错误控制台中的URI只是FB URI,这就是为什么我认为Facebook确实更新了他们的网站以限制对远程URI的访问。我不确定它是否可能是Chrome问题,如果我在错误的stackoverflow网络上启动主题,那就很抱歉。 :)

任何人都可以确认(并且可能指出我可能的解决方案)这个问题吗?谢谢大家!

3 个答案:

答案 0 :(得分:10)

从内容脚本执行XMLHTTPRequest时,扩展名绕过页面的内容安全策略。他们目前不是,这是一个错误。我已经提交了https://bugs.webkit.org/show_bug.cgi?id=104480来修改它。

您是从扩展程序的内容脚本执行XHR,还是在后台页面中执行?后者现在应该可以工作。

答案 1 :(得分:0)

错误消息显示您正在尝试连接到“https:// api。microsofttranslator .com /域”,但未在CSP指令的connect-src中指定

好像你已经列出了

"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".

connect-src政策的上述域名,如果有效,请添加新域名microsofttranslator。com。

如果您需要更多信息,请与我们联系。

答案 2 :(得分:0)

我突然遇到了这个问题

暂停了域上的广告拦截器,现在可以使用了