我曾經遇到過這個問題,但現在才成爲一個真正的問題。無法通過PHP修改內容安全策略頭文件
幾年前,我實施了內容安全策略。我使用PHP來設置標題。下面是我的標題。
內容安全-政策:默認-src的 '自我' www.googleadservices.com ssl.google-analytics.com www.google-analytics.com googleads.g.doubleclick.net
這完美的作品。但是,如果我以任何方式更改它,發送的標頭仍然是相同的。即使我刪除了服務器發送的代碼。
我認爲瀏覽器可能會緩存這個,但新的瀏覽器和在線頭部檢查器一樣。我認爲Web服務器可能會緩存這個,但對其他標題指令的修改可以正常工作。
我使用IIS7.5在Windows Web服務器2008
對PHP 31年6月5日NTS這是一個奇怪的問題,既不是谷歌,也不是一個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
任何提示,將不勝感激。
你檢查過你的'iis'配置文件嗎?從[這篇文章](https://stackoverflow.com/questions/37992225/config-your-iis-server-to-use-the-content-security-policy-header/37996726#37996726),你可以定義你的CSP在你的配置文件中;你可能早些時候用原來的CSP完成了這個工作,現在它正在覆蓋你的新CSP –
我從來沒有在其他地方設置過CSP頭,但無論如何我還是複選了,因爲你永遠不知道。該設置既不在web.config中,也不在C:\ Windows \ System32 \ inetsrv \ config中。我們有一些帶有內嵌javascript的密碼保護頁面,所以我避免使用CSP站點範圍。我會繼續尋找。 –
作爲參考,這裏是我的http頭設置在IIS配置。 X-Frame:同源 X-X-XSS-Protection:1:模塊 - X-XSS-Protection:1:模塊 - –