我們正在創建一個嚴格的內容安全策略(https://csp.withgoogle.com/docs/strict-csp.html),這需要Apache在每次請求資源時創建一個隨機數,以便我們可以插入nonce放入http頭中。使用Apache 2.4生成隨機數(適用於內容安全策略標頭)
我們如何使用Apache 2.4創建一個隨機數?
我讀過的所有與CSP相關的文檔都說明了「一個隨機數就是服務器上生成的一個隨機字符串,包含在CSP頭中......」,但沒有找到任何信息關於如何用Apache做到這一點。我們當然可以使用應用程序代碼來做到這一點,但通過Apache來做這件事似乎是一個更清晰的解決方案/將確保每一個頁面獲得CSP標題。
在Apache中,您可以通過SetEnv VARIABLE_NAME variable_value來定義可以在應用程序層使用的服務器變量。同樣,Nginx中的隨機數:https://scotthelme.co.uk/csp-nonce-support-in-nginx/ – KayakinKoder
如果我理解你關於解析HTML的觀點,我不是100%確定的,但mod_unique_id看起來好像可能會訣竅? 1.)apache通過mod_unique_id生成一個隨機字符串,並創建一個名爲UNIQUE_ID的環境變量2.)我們將它插入我們的CSP頭(不確定如何實際執行)3.)在我們的應用程序代碼中,在需要的地方添加nonce,在PHP中,這將通過$ _SERVER ['UNIQUE_ID'] 這似乎是安全的嗎?我不確定我是否完全理解你關於解析html /插入隨機數的觀點。謝謝 – KayakinKoder
@KayakinKoder這似乎過於複雜。在應用程序中生成隨機數會更容易,並且可以自己將其插入到標題中。不需要涉及Web服務器。 – duskwuff