CSP策略生效后内联脚本报错怎么解决?
我在本地测试 Content Security Policy,加了 CSP 头之后页面里的内联 JS 直接被拦截了,控制台报错说“Refused to execute inline script”。但我只是想快速验证 CSP 是否生效,又不想改太多代码,有啥临时办法吗?
我试过加上 ‘unsafe-inline’,但听说这不安全,而且在 nonce 或 hash 存在时会被忽略。现在我的 CSP 是这样设置的:Content-Security-Policy: default-src 'self',然后页面里有段调试用的内联脚本:
document.addEventListener('DOMContentLoaded', () => {
console.log('CSP test');
document.body.style.backgroundColor = '#f0f0f0';
});
这种情况该怎么处理才既安全又能跑起来?
暂无解答