我正在努力保持我的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. 如何在不使用GUI的情况下编写Jmeter脚本?
- 2. 如何在不使用./script.py的情况下运行python脚本?
- 3. python如何让bash脚本在不可执行的情况下运行?
- 4. 如何让动画在不被中断的情况下完成?
- 5. 如何在不使用导入的情况下在python脚本中导入beautifulsoup
- 6. 如何在不阻塞的情况下运行脚本?
- 7. 如何在不执行的情况下加载脚本内容?
- 8. 如何在不使用ruby的情况下列出init.d脚本的文件
- 9. 如何在不使用eval的情况下动态调用类?
- 10. 如何在不使用命令行的情况下运行Perl脚本?
- 11. 如何在不使用'go'的情况下运行这个sql脚本?
- 12. 如何在不抑制输出的情况下运行'R'脚本?
- 13. 如何在不制作组的情况下使用圆括号?
- 14. 如何在不使用OAuth的情况下制作安全API?
- 15. Java(Android):如何在不使用Bitmap的情况下绘制drawable?
- 16. 如何在不从脚本复制到控制台的情况下运行python脚本?
- 17. 如何在不定义热键的情况下自动运行脚本?
- 18. 如何在不使用EntityReference.Load()的情况下手动加载EntityReference()
- 19. 如何在不使用操作的情况下移动精灵?
- 20. 如何在不使用鼠标的情况下从我的xterm复制文本?
- 21. 在不执行脚本的情况下调用Lua函数
- 22. 在不改变页面的情况下调用PHP脚本
- 23. 如何在不更改脚本1的情况下从脚本1调用脚本2及其2个参数?
- 24. 如何在不打开网页的情况下让应用自动登录?
- 25. 如何在不被调用的情况下执行包含的脚本?
- 26. 如何在使用情况下在什么情况下使用tsql?
- 27. 的bash脚本的情况下开关
- 28. 如何在没有CronJob的情况下安排Unix Shell脚本
- 29. 如何在页面为index.html的情况下运行jquery脚本
- 30. 如何在不构建的情况下调用构建后脚本!
你可以自己清理它,使用正则表达式检查脚本元素等 – Dummy
我可以用这种方式解决它,但我恐怕要冻结一个3d派对组件。将来无法更新它。我仍然希望有可能用'nonce'属性或类似的东西解决它。 – maxvektor
谷歌reCAPTCHA是这样做的一个常见来源。在https://stackoverflow.com/questions/44512798/content-security-policy-header-directive-for-google-re-captcha/44513663#44513663上查看相关答案 – sideshowbarker