当前位置: 首页 > 面试题库 >

詹金斯内容安全政策

陆文斌
2023-03-14
问题内容

我对Jenkins内容安全政策感到困惑。

我有一个通过Jenkins Clover插件显示的html页面。该html页面使用嵌入式样式,例如:

<div class='greenbar' style='width:58px'>

div元素可视化进度条。使用默认的Jenkins CSP配置会导致以下结果:
Progressbar_FAIL

我想要的结果如下所示: Progressbar_WORKS

我试图放宽CSP规则,添加具有不同级别(自我,不安全内联等)的参数(脚本-src,样式-src)的不同组合,但是没有任何效果。

所以我现在的问题是:

  1. 我必须在哪里指定CSP配置?
  2. 可以使用内联样式吗?
  3. 样式应放在哪里?我的css样式表位于Jenkins服务器上的本地位置。
  4. 使内联样式和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’”。


问题答案:

在进行实验时,我建议按照“ 配置内容安全策略”页面上的说明使用脚本控制台动态调整CSP参数。(Jenkins
Wiki页面上还有一条注释,指示您可能需要强制重新加载该页面才能查看新设置。)

为了同时使用内联样式和本地样式表,您需要同时添加 selfunsafe-inline

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; style-src 'self' 'unsafe-inline';")

根据进度条的操作方式,您可能还需要以相同的方式调整’script-src’。

找到有效的设置后,您可以调整Jenkins启动脚本以添加CSP参数定义。



 类似资料:
  • 问题内容: 我对Jenkins内容安全政策感到困惑。 我知道这些网站: 配置内容安全策略 内容安全政策参考 我有一个通过Jenkins Clover插件显示的html页面。该html页面使用嵌入式样式,例如: div元素可视化进度条。使用默认的Jenkins CSP配置会导致以下结果: Progressbar_FAIL 我想要的结果如下所示: Progressbar_WORKS 我试图放宽CSP规

  • 为了缓解大量潜在的跨站点脚本问题,Chrome 浏览器的扩展程序整合了内容安全策略(CSP)的一般概念。这引入了一些相当严格的策略,这些策略将使扩展默认情况下更加安全,并为您提供创建和执行规则的能力,以管理扩展和应用程序可以加载和执行的内容类型。 通常,CSP 充当扩展程序加载或执行资源的阻止/允许列表机制。为扩展程序定义合理的策略使您可以仔细考虑扩展程序所需的资源,并要求浏览器确保这些是扩展程序

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。

  • 我可以在我的笔记本电脑上成功安装jenkins online。但是,当试图离线安装詹金斯(jenkins)时(在我无法连接到互联网的办公室工作站上),情况就不妙了。在经营詹金斯家族之后。命令行战争虽然jenkins已经成功安装,但一些插件却丢失了。我设法从帖子中获得了一些帮助,如何在Jenkins中手动安装插件? 但是每个插件都必须单独下载,然后复制到我的离线机器上。所以我耍了个花招。我复制了(在