问题标签 [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.

0 投票
1 回答
1530 浏览

security - Firefox 20.0 中的 CSP:default-src 无

我对 Firefox 中的内容安全策略有疑问。这是我的基本代码:

这是在php中提交一些数据的简单代码;这是我设置 CSP 标头的 php 文件

当我尝试在 Chrome 上加载我的网页时,一切正常,就像在 IE 下一样,但是当我在 Firefox 上运行它时,它没有正确应用 CSP。它说我的脚本和我的样式违反了 CSP script-src='none' 和 style-src='none'。所以它没有看到关于 script-src 和 style-src 的任何规则,我不知道为什么。

任何人都可以帮助我吗?我正在使用 Firefox 20.0

0 投票
1 回答
286 浏览

security - 视频流托管

再会!我是视频流的新手。您能帮我找到如何确保视频流安全的好方法吗?

我的视频托管项目安全存在一些问题。

我正在创建一个网页,该网页调用托管在部署我的网页的不同服务器上的视频流。

服务器 1(网页视频嵌入)调用视频在服务器 2(视频主机)上流式传输。

问题是它们托管在一个完全不同的网络上。托管视频的服务器 2 应该是私有的,并且只允许服务器 1 获取视频流,从而创建服务器到服务器的数据传输,或者它应该是公共的,以便客户端能够访问它。

您能帮我决定如何保护我的视频吗?

我非常需要一些想法......谢谢大家!

0 投票
1 回答
3941 浏览

javascript - 没有内联脚本,仍然收到“由于内容安全策略指令而被拒绝:“script-src 'self'”

我正在尝试为 Chrome 创建一个类似于 Google Reader 的浏览器操作扩展,以便与我有权访问其 API 的不同 RSS 阅读器一起使用。这会在浏览器操作中产生 X 个链接,每个链接都需要使用 API 指定的 URL 打开一个新选项卡。

但是,每当单击链接时,我都会收到以下错误消息: "Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:"."

我一直在阅读主要出现在内联脚本上的错误消息,但是我没有任何明确的 onLoads、内联脚本标签等。

清单.json:

背景-action.js

浏览器-action.html

这些是否隐含地创建了一个内联脚本,或者我是否以其他方式将其搞砸了?

0 投票
2 回答
7120 浏览

node.js - 即使添加了“unsafe-eval”,CSP 也会阻止对 function() 的调用

我正在开发一个 NodeJS 项目,并且正在使用CSP内容安全策略)。

我正在使用一个FullCalendar被 csp 阻止的外部插件,出现以下错误:

Error: call to Function() blocked by CSP

script-src 'self' 'unsafe-eval';用来覆盖它,但在 Firefox 中不起作用。在其他浏览器中它工作正常。

我在 4 小时前被困在这个问题上。

获得解决方案会很有帮助。

我在 CSP 限制中使用以下格式。

X-Content-Security-Policy: default-src *; script-src 'self' 'unsafe-eval'; 对象源“无”;style-src 'self' 'unsafe-inline img-src *;options eval-script;
X-WebKit-CSP: default-src *; script-src 'self' 'unsafe-eval'; 对象源“无”;style-src 'self' '不安全的内联 img-src *;
内容安全策略:default-src *;script-src 'self' 'unsafe-eval'; 对象源“无”;style-src 'self' '不安全的内联 img-src *;

0 投票
1 回答
727 浏览

google-chrome-extension - Google+ 集成 chrome 扩展问题

我正在尝试将 google+ API 与我的 google chrome 扩展程序集成。我基于此处介绍的此快速入门示例的集成: https ://developers.google.com/+/quickstart/javascript

我已将所有内联 javascript 代码迁移到单独的文件中,在 manifest.json 文件中添加了 content_security_policy 行:

"content_security_policy": "script-src 'self' https://www.googleapis.com/ https://plus.google.com/ https://apis.google.com/ https://accounts.google.com / https://ssl.gstatic.com https://csi.gstatic.com https://developers.google.com ; object-src 'self'"

问题如下。当我点击 Google+ 按钮时,我收到以下错误消息:

拒绝执行 JavaScript URL,因为它违反了以下内容安全策略指令:"script-src 'self' https://www.googleapis.com/ https://plus.google.com/ https://apis.google.com/ https://accounts.google.com/ https://ssl.gstatic.com https://csi.gstatic.com https://developers.google.com"

这显然对 content_security_policy 不满意。它在此文件的第 468 行抛出此异常:

https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.aop9WHMC8-8.O/m=client,plusone,signin/rt=j/sv= 1/d=1/ed=1/am=EQ/rs=AItRSTNUM79OpqDtwYl6kryPkOs00evROQ/cb=gapi.loaded_0

它似乎试图嵌入内联脚本并在之后执行它,这违反了内容安全策略。当我单击弹出窗口中的“接受”按钮时,会出现相同的异常。结果弹出窗口挂起而没有响应。

你有这方面的经验吗?

0 投票
1 回答
3758 浏览

php - 如何使用 PHP 获取内容安全策略的违规报告(JSON 数据)?

内容安全策略的一项有用功能是能够检测违规并将其作为(违规报告)发送到特定的 URI。根据CSP 1.1 Sec 的文档。3.2.4 报告

要发送违规报告,用户代理必须使用与以下等效的算法:

  • 从受保护资源的来源获取报告 URI,未设置同步标志,使用HTTP 方法 POST,Content-Type 标头字段为 application/json,实体正文由报告正文组成。如果报告 URI 的来源与受保护资源的来源不同,则还必须设置块 cookie 标志。用户代理在获取此资源时不得遵循重定向。(注意:用户代理会忽略获取的资源。)

然后,在部分5.2 节示例违规报告中提供了一个示例:

在以下示例中,用户代理使用以下 CSP 策略呈现资源http://example.org/page.html的表示:

受保护的资源从http://evil.example.com/image.png加载了一张图片 ,违反了政策。

例子:

测试.php

csp-report.php

csp-report.txt

如您所见,该文件中没有保存任何内容!但是,使用 Firebug,报告似乎发送到该文件:

在此处输入图像描述

注意:我希望分析答案提到为什么正常帖子不起作用以及应该使用什么替代方案,为什么?此外,提供如何解码 JSON 也是一个优点。

0 投票
0 回答
1052 浏览

javascript - Using https url with ajax in a Chrome extension popup

I can't seem to find the solution for this anywhere. I'm making a Chrome extension for submitting data to another service and its functionality is based on a third-party API that is located on a secure url. The problem is that I can't get the https url to work and I'm getting this error instead:

Refused to load the script 'http://app.something.com/api/v1/idea/create?apikey=...&summary=test&_=1376649061760' because it violates the following Content Security Policy directive: "script-src 'self' https://app.something.com".

Permissions for https urls are added and the content_security_policy is defined in the manifest.json. Although I'm not entirely sure if the latter is defined correctly.

manifest.json

popup.js

popup.html

My question is:

Can I get around this using $.ajax or is there another (better) way to avoid this problem?

0 投票
1 回答
674 浏览

google-chrome-app - Chrome 打包应用程序中的 Mathjax

我正在尝试在 Chrome 打包应用程序中使用 MathJax。它根本没有加载,出现以下错误:

我怎样才能让它工作?

编辑

IT 显示这条线是图书馆的问题

0 投票
2 回答
1944 浏览

javascript - 从 Firefox 插件在页面中注入 js 时是否可以绕过 CSP?

我有一个 firefox 插件,用于通过在页面中注入一些 javascript(通过在 head 元素下创建一个元素,并将其 innerHTML 值设置为要执行的 javascript)与 github 的 web 应用程序进行交互。

但是,它最近刚刚停止工作。然后我看到以下警告:

Github 返回以下标头:

我知道 Firefox 开始通过 X-Content-Security-Policy 标头支持 CSP,但我认为会有一些机制来防止从插件中注入代码来制动。

有谁知道扩展 API 是否有任何特定机制可以在页面中注入 javascript 并绕过 CSP 设置?基本原理是 - 如果用户安装了插件,他/她信任它,并且应该有绕过 CSP 的方法。

0 投票
1 回答
2499 浏览

google-chrome - chrome 无法识别我的 chrome 扩展中的 content_security_policy 字符串

我正在创建一个使用谷歌地球的谷歌浏览器扩展。

我在清单中添加了以下内容:

即使如此,当我运行我的扩展程序时,我仍然收到以下错误: