问题标签 [content-security-policy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - 无法识别的内容安全策略指令
我注意到在更新到 Google Chrome (21.0.1180.89) 后,我在开发人员选项卡中收到了很多错误;特别是如果我访问我自己的 phpMyAdmin 站点。
这些都是相同的,并且是针对跨站点脚本的某种安全性;有什么我可以解决的吗?
javascript - 可以在 Manifest v2 下使用 HTML5 地理定位 API 将纬度/经度转换为国家/地区吗?
我有一个在 Manifest v2 下运行的 Google Chrome 扩展程序。以前,我能够与http://www.geoplugin.net/javascript.gp交谈并获得用户国家代码(例如美国、英国)。但是,Manifest v2 施加了一些限制,不允许与非 https 的、列入白名单的网站交谈。这意味着我不能再去服务器获取我的信息了。
我想继续拥有这个功能。我相信我最好的选择是利用 HTML5 地理位置将坐标转换为国家代码。我还没有看到这个的任何实现这有可能在合理范围内实现吗?我在网上找到的所有解决方案都建议与服务器通信,但我没有遇到过 https 解决方案。
我还尝试与“https://maps.googleapis.com/maps/api/geocode/”通信,但是,即使将它添加到 content_security_policy,我也无法查询 JSON。
只是好奇是否有人有我没有看到的解决方案/已经解决了这个问题
我在 jQuery 中使用了 RobW 的答案:
javascript - 内容安全策略的值无效:Google Chrome 扩展程序
我一直在更新manifest_version
我们的 chrome 应用程序,并在content_security_policy
. 他们已经停止支持内联 js 和很多东西。我想通过在我的清单中添加以下行来放松这个限制
当我尝试从 chrome 加载未打包的扩展时,它给了我一条错误消息
Invalid value for content_security_policy
。具有讽刺意味的是,我从谷歌的 chrome 扩展开发者文档中复制了这一行(请参阅“评估的 Javascript”部分)
编辑:清单版本 2 中不支持的 Google 线程状态unsafe-eval
。我现在如何使用我认为需要的 jquery 和类似脚本unsafe-eval
?
javascript - 谷歌浏览器:拒绝执行内联脚本
鉴于 chrome 内容安全策略的变化,我已将所有脚本移动到单独的文件中,并在我的 chrome 扩展的 html 页面(背景和弹出窗口)中引用它们。但我仍然收到以下消息
这是我的背景页面
您会看到没有内联 js,但错误消息一直存在。我的代码有什么问题,我该如何解决?
注意:我使用的是清单版本 2 和 chrome 版本 21.0.1180.89
谢谢
facebook - 如何将外部脚本加载到我的 Chrome 扩展程序中?
我正在尝试从我的 Chrome 扩展程序中弹出一个带有 Facebook 登录示例代码的选项卡。到目前为止,我在这个例子中使用了直接的教程代码。
该选项卡正确打开,但是,由于跨站点安全策略问题,facebook 的 javascript 无法加载,而且我也收到了内联脚本错误 - 这似乎很奇怪(除非动态添加的元素具有触发错误的内联脚本信息?)
我在哪里可以学习如何正确地做这种事情?
错误:
背景.js:
popup.html: //来自 facebook api 文档的登录代码示例
popup.js://facebook dev 的示例代码
google-chrome-extension - 为什么 Chrome 不能使用允许 localhost 的内容安全策略加载扩展程序?
我正在开发 Chrome 扩展程序,并希望从中加载脚本以localhost
进行开发。所以我更新了清单文件以具有以下行:
根据有关内容安全策略的文档,使用localhost
或127.0.0.1
不使用https
.
但是,当我尝试从以下位置加载扩展时,会收到以下(嘲讽)错误消息chrome://chrome/extensions/
:
无法从“/Users/Tim/Desktop/temp/test”加载扩展。“content_security_policy”的值无效:必须指定“script-src”和“object-src”指令(显式或通过“default-src”隐式指定),并且都必须仅将安全资源列入白名单。您可以包括以下任何来源:“'self'”、“'unsafe-eval'”、“http://127.0.0.1”、“http://localhost”或任何“https://”或“chrome-extension://”来源。有关详细信息,请参阅http://developer.chrome.com/extensions/contentSecurityPolicy.html
要确认问题,您可以使用以下manifest.json
文件创建一个空目录:
并将目录加载为解压缩的扩展名。你应该得到错误。如果您将其删除http://localhost
或更改为https://localhost
,它将正常加载。
我错过了什么吗?
(注意:我使用的是 Chrome 22.0.1229.79)
谢谢!
google-chrome-extension - chrome.browserAction.setIcon() 不适用于 content_security_policy
我已向我的 Chrome 扩展程序添加了功能,以便在单击图标按钮时更改颜色。代码很简单:
但是,这花了我一段时间才弄清楚,因为事实证明,当在 manifest.json 中设置 content_security_policy 时它不起作用。我原本有
问题是,如果有的话,删除它会失去什么?还是应该只是与图标更改一起使用的其他东西?老实说,我只是从一些示例清单文件中复制了原始策略,从那以后就没有考虑过。
firefox - 仅在 Firefox 中的内容安全策略报告
我已经为我们的网站创建了内容安全策略,但我想先试用它,看看它是否会导致任何问题,所以我使用了仅报告标题并添加了报告 uri 指令。
标头名称 X-WebKit-CSP-Report-Only 在基于 Webkit 的浏览器中正常工作,但 X-Content-Security-Policy-Report-Only 或Content-Security-Policy-Report-Only在 Firefox(版本 15)中均无效。X-Content-Security-Policy 有效,将违规报告发送到我的 report-uri 指令中指定的 URL。但是,这也实现了我还不想做的政策。有没有其他人遇到过这个?
google-chrome - 带有 iframe 的 Chrome 扩展:域、协议和端口必须匹配
Manifesto 版本 2 和他的新 content_security_policy 现在是 chrome 扩展所必需的。我阅读了一些关于“沙盒模式”的文档,这似乎是内联 JavaScript 的一种解决方法,但我仍然有一个大问题。
经过一些重构后,我收到以下错误:“不安全的 JavaScript 尝试从具有 URL chrome-extension://mafcgphdkdbjlngfndodameheehmfhac/DCE24DB153A80B735442BF97F168AE6C.cache.html 的框架访问具有 URL chrome-extension://mafcgphdkdbjlngfndodameheehmfhac/eventpage.html 的框架。域,协议和端口必须匹配。”
我不明白为什么来自同一扩展名的 2 个文件没有相同的“域、协议和端口”!
注意:这是我的宣言的一部分: