使用Bootstrap 5的form-check-input类触发CSP违规报错
资源被拦截的核心原因
- Bootstrap 5的
form-check-input组件的选中状态默认使用data URI格式的内联SVG作为背景图标,报错信息中出现的data:image/svg+xml,...就是这个内联资源,不属于远程加载的资源。 - 你之前尝试添加的w3.org相关域名规则无效,是因为SVG代码中的
xmlns='http://www.w3.org/2000/svg'属于XML命名空间声明,不是资源的实际请求地址,CSP不会校验命名空间的域名,仅会校验资源本身的加载来源。 - 你当前站点的内容安全策略
img-src指令仅允许'self'和www.w3.org两个来源,没有包含data:源许可,因此浏览器会直接拦截data URI类型的图片资源,触发报错。
修复方案
修改你的站点CSP的img-src指令,添加data:许可即可解决问题:
img-src 'self' www.w3.org data:
内容的提问来源于stack exchange,提问作者One Guy Hacking
相关产品推荐
相关产品推荐

