簡體   English   中英

處理 CSP 標頭,將控制台瀏覽器視為拒絕執行內聯腳本,因為它違反了以下內容安全策略指令

[英]Working on CSP headers, seeing console browser as Refused to execute inline script because it violates the following Content Security Policy directive

內容安全策略的#console 瀏覽器問題

拒絕執行內聯腳本,因為它違反了以下內容安全策略指令:“script-src 'self'”。 需要“unsafe-inline”關鍵字、hash(“sha256-9X08/o2ns8hEbTzT0V1Xyn6yYc8qftFOKmH3KNb8dWo=”)或隨機數(“nonce-...”)才能啟用內聯執行。[在此處輸入圖像描述][1]

#Image of the error 

  [1]: https://i.stack.imgur.com/7R9sp.png

為 CSP 編寫的代碼

frame-ancestors 'self' https:
script-src 'self';
object-src 'none';
base-uri 'none';
style-src 'self' fonts.googleapis.com 'unsafe-inline';
media-src *;
img-src 'self';

該錯誤似乎表明使用內聯腳本存在問題。 看起來像

    <script>
            your codes
    </script>

如果您要使用內聯腳本,請將 'unsafe-line' 添加到 script-src 指令。

當前設置僅允許來自您的域的腳本。

例如)<script src="/yourDomain/public/yourScript.js">

'self' 的 script-src 指令僅允許將腳本作為來自同一域的腳本文件加載。 您的頁面還包含需要在 CSP 中獲得權限才能運行的內聯腳本。 你有幾個選擇:

  1. 將腳本代碼移動到托管在同一域中的單獨的.js 文件中。 如果您使用不同的主機,則需要在 script-src 指令中允許該主機。
  2. 添加“不安全內聯”。 這將允許所有內聯腳本,這將幾乎消除 CSP 能夠提供的 XSS 保護。
  3. 添加建議的 hash 值 'sha256-9X08/o2ns8hEbTzT0V1Xyn6yYc8qftFOKmH3KNb8dWo=' 到 script-src 允許這個腳本。 如果只允許一個或幾個內聯腳本,這是一個很好的解決方案。
  4. 添加一個隨機數。 隨機數應該在每次頁面加載時都發生變化,如果您能夠正確注入隨機數,那么它是動態腳本的一個很好的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM