You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于Helmet CSP指令冲突与SonarQube合规性的技术问询

关于Helmet CSP指令冲突与SonarQube合规性的技术问询

我正在搭建一个使用Helmet内容安全策略(CSP)的网站,但目前在app.ts里写的CSP配置过不了SonarQube的合规检查。

我的当前CSP配置代码如下:

app.use(
  helmet.contentSecurityPolicy({
    directives: {
      defaultSrc: ["'self'"],
      scriptSrc: ["'self'", 'https://www.xxxxx.com', 'https://www.xxxxx.com'],
      objectSrc: ["'none'"],
      frameSrc: [ 
        "'self'", 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
      ],
      connectSrc: [ 
        "'self'", 
        'https://www.xxxxx.com', 
        'https://api.xxxxx.com', 
      ],
      frameAncestors: [ 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
        'https://www.xxxxx.com', 
      ],
      upgradeInsecureRequests: [],
    },
    useDefaults: true,
  })
);

这段配置触发了SonarQube的不合规警告,但当我在指令里添加blockAllMixedContent: []之后,警告就消失了。不过我发现blockAllMixedContent: []upgradeInsecureRequests: []这两个指令看起来像是互相矛盾的——如果我同时启用这两个指令,会不会出现自相矛盾的情况,导致CSP本身失效或者出现其他问题?

内容来源于stack exchange

火山引擎 最新活动