我正在努力保持我的CSP策略儘可能嚴格。我需要將3D派對組件包含在我的包中。但它使用打破CSP的方法element.setAttribute('style'...)
。有沒有辦法讓這個特定的腳本以這種方式內聯樣式?如何讓腳本在不制動的情況下使用setAttribute'style'CSP
1
A
回答
1
允許style
屬性的唯一方法是使用unsafe-inline
。 style
屬性是來自不同來源還是來自self
--它們仍然會被視爲CSP違規並不重要,除非您有unsafe-inline
。
具體地,一個解決方案,不會爲style
屬性工作是使用一個CSP的隨機數或散列的,因爲隨機數和散列使用僅用於style
和script
元件定義;該規範有一個Hash usage for style elements部分,明確省略了定義散列使用風格屬性。
因此,即使在您的政策中爲style
屬性的內容指定了正確的哈希值,您的瀏覽器仍然會將其視爲違規。
底線是,由於unsafe-inline
是允許的唯一途徑style
屬性,但使用unsafe-inline
幾乎完全違背了任何CSP政策開始,在從CSP認爲,只有安全的解決方案的目的只是爲了永遠使用style
屬性 - 既不直接來自您自己的標記/代碼,也不通過任何第三方代碼。
相關問題
- 1. 如何在不使用./script.py的情況下運行python腳本?
- 2. 如何在不使用GUI的情況下編寫Jmeter腳本?
- 3. 如何讓elasticsearch.js在不使用require的情況下工作?
- 4. python如何讓bash腳本在不可執行的情況下運行?
- 5. 如何讓動畫在不被中斷的情況下完成?
- 6. 如何在不使用RAISERROR()的情況下使T-SQL腳本失敗?
- 7. 如何讓CKEditor在不使用JQuery的情況下更新文本內容?
- 8. 如何在不使用導入的情況下在python腳本中導入beautifulsoup
- 9. 如何在不使用crontab的情況下在後臺連續運行腳本
- 10. 如何在不執行的情況下加載腳本內容?
- 11. 如何在不阻塞的情況下運行腳本?
- 12. 如何在不重定向的情況下運行PHP腳本?
- 13. 如何在不訪問頁面的情況下執行腳本
- 14. 如何讓div在不使用浮動的情況下填充剩餘空間?
- 15. 如何在不使用ruby的情況下列出init.d腳本的文件
- 16. 如何在不使用eval的情況下動態調用類?
- 17. 如何在不運行腳本的情況下檢查bash腳本?
- 18. 如何在不運行腳本的情況下調試Python代碼(使用Eclipse)?
- 19. 如何在不使用命令行的情況下運行Perl腳本?
- 20. 如何在不首先運行函數腳本的情況下使用函數?
- 21. 如何在不使用「sh」命令的情況下運行shell腳本?
- 22. 如何在不使用crontab的情況下連續運行後臺腳本。
- 23. 如何在不使用'go'的情況下運行這個sql腳本?
- 24. Java(Android):如何在不使用Bitmap的情況下繪製drawable?
- 25. 如何在不製作組的情況下使用圓括號?
- 26. 如何在不使用OAuth的情況下製作安全API?
- 27. 如何在不使用JProgressBar的情況下製作進度條?
- 28. 如何讓javax.validation在某些情況下
- 29. 如何在不抑制輸出的情況下運行'R'腳本?
- 30. 在不使用JTextField等的情況下繪製文本字段
你可以自己清理它,使用正則表達式檢查腳本元素等 – Dummy
我可以用這種方式解決它,但我恐怕要凍結一個3d派對組件。將來無法更新它。我仍然希望有可能用'nonce'屬性或類似的東西解決它。 – maxvektor
谷歌reCAPTCHA是這樣做的一個常見來源。在https://stackoverflow.com/questions/44512798/content-security-policy-header-directive-for-google-re-captcha/44513663#44513663上查看相關答案 – sideshowbarker