我已经有一段时间没有这个问题,但它现在才成为一个真正的问题。
几年前我实施了内容安全策略。我使用PHP来设置标题。这是我的标题。
内容 - 安全 - 政策:default-src' self' www.googleadservices.com ssl.google-analytics.com www.google-analytics.com googleads.g.doubleclick.net
这完美无缺。但是,如果我以任何方式更改它,发送的标头仍然是相同的。即使我删除了服务器仍然发送的代码。
我认为浏览器可能会缓存这个问题,但新浏览器和在线标题检查程序一样。我认为Web服务器可以缓存这个,但对其他头指令的修改工作正常。
我在Windows Web Server 2008上使用IIS7.5和PHP 5.6.31 NTS。
这是一个奇怪的问题,Google和SO搜索都没有出现任何问题。
代码: 旧代码:
header("Content-Security-Policy: default-src 'self' www.googleadservices.com
ssl.google-analytics.com www.google-analytics.com googleads.g.doubleclick.net
");
新守则:
header("Content-Security-Policy: default-src 'self' www.googleadservices.com
ssl.google-analytics.com www.google-analytics.com googleads.g.doubleclick.net sealserver.trustwave.com;
style-src 'self' fonts.googleapis.com; object-src 'none';
");
无论如何,结果标题。
Content-Security-Policy: default-src 'self' www.googleadservices.com
ssl.google-analytics.com www.google-analytics.com
googleads.g.doubleclick.net
任何提示都将不胜感激。
答案 0 :(得分:0)
我使用PHP来设置标题。 (...)但是,如果我以任何方式更改它,发送的标题仍然是相同的。即使我删除了服务器仍然发送的代码。
我最好猜测为什么要发送旧标头:代码在奇怪的地方做了意想不到的事情。我会为header()
的任何实例grep整个源代码并从那里开始。
对于长期,易于维护的解决方案,您可能会发现CSP-Builder比手动编写更容易。