CSP本地测试

CSP local testing

我需要对我们的网站进行一些更改,因为我们的 CSP 阻止 Safari 访问它。此外,该网站的整体安全评级,让我们说得好听一点,相当糟糕。 现在,有什么方法可以在不部署到服务器的情况下在本地测试对 CSP 所做的更改?我试过 ngrok,但这似乎不起作用(不传输 headers)。 我在这方面比较陌生,所以任何提示都将不胜感激!

您可以使用 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。您将在浏览器控制台中将所有违规行为视为错误,但实际上不会阻止任何内容。