CSP本地测试

问题描述

我需要对我们的网站进行一些更改,因为我们的 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。您将在浏览器控制台中将所有违规行为视为错误,但实际上不会阻止任何内容。