关于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




