问题描述
我需要对我们的网站进行一些更改,因为我们的 CSP 会阻止 Safari 访问它。此外,该网站的整个安全等级,让我们说得好一点,相当糟糕。 现在,有没有什么方法可以在不部署到服务器的情况下在本地测试对 CSP 所做的更改?我试过 ngrok,但这似乎不起作用(不传输标头)。 我在这方面很新,所以任何提示将不胜感激!
解决方法
您可以使用 Fiddler 执行此操作。修改 FiddlerScript 并在 OnBeforeResponse 函数中插入以下代码:
if (oSession.uriContains('<insert relevant part of url here>')){
oSession.ResponseHeaders.Remove("Content-Security-Policy"); //If you want to replace an existing CSP
oSession.ResponseHeaders.Add("Content-Security-Policy","<csp value>");
}
另一种选择是部署 Content-Security-Policy-Report-Only。您将在浏览器控制台中将所有违规行为视为错误,但实际上不会阻止任何内容。