【发布时间】:2016-10-03 18:52:37
【问题描述】:
我对 Jenkins 内容安全政策感到困惑。
我知道这些网站:
我有一个通过 Jenkins Clover 插件显示的 html 页面。此html页面使用内联样式,例如:
<div class='greenbar' style='width:58px'>
div 元素可视化进度条。 使用默认的 Jenkins CSP 配置会导致以下结果: Progressbar_FAIL
我想要的结果如下所示: Progressbar_WORKS
我尝试放宽 CSP 规则,添加不同级别的参数组合(script-src、style-src)(self、unsafe-inline、..),但没有任何效果。
所以我现在的问题:
- 我必须在哪里指定 CSP 配置?
- 是否可以使用内联样式?
- 样式应该放在哪里?我的 css 样式表位于 Jenkins 服务器的本地。
- “满足”内联样式和 CSP 规则的最佳方法是什么
更新
1.尝试:
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'
在 jenkins.xml 文件中。然后出现如下错误:
拒绝应用内联样式,因为它违反了以下内容 内容安全策略指令:“default-src 'self'”。无论是 'unsafe-inline' 关键字、哈希 ('sha256-') 或随机数 ('nonce-...') 是启用内联执行所必需的。另请注意 'style-src' 没有明确设置,所以 'default-src' 被用作 后备。
2。试试
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; style-src 'self' 在 jenkins.xml 文件中。然后出现如下错误:
拒绝应用内联样式,因为它违反了以下内容 内容安全策略指令:“style-src 'self'”。无论是 'unsafe-inline' 关键字,一个哈希 ('sha256-') 或随机数 ('nonce-...') 是启用内联执行所必需的
我知道这个尝试不能解决我的问题,因为 default-src 包含 style-src
3.试试
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; style-src 'unsafe-inline' 在 jenkins.xml 文件中。然后出现如下错误:
拒绝加载样式表 s://jenkins/andsomedir/stylesheet.css [它的 https://... 不允许发布两个以上的链接 :(] 因为它违反了以下内容安全政策指令: "style-src 'unsafe-inline'"。
【问题讨论】:
-
可以使用内联样式或来自 Jenkins 服务器上的文件的样式。听起来您在正确的轨道上,但您还没有发布确切您尝试过的内容(您是否使用了脚本控制台?您输入了什么?您将 CSP 参数设置为什么值?),所以很难指出哪里出了问题。
-
感谢您的回答。更新了我的帖子。
标签: html css jenkins content-security-policy