为什么内联脚本被禁止(内容安全策略)
Why is inline script forbidden (Content Security Policy)?
我想知道说明书中的报价:(https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html)
为了获得最大的好处,作者需要将所有内联脚本和样式移到外部脚本中,例如,因为用户代理无法确定内联脚本是否由攻击者注入。
外包所有内联脚本是一项耗时的任务。
我的问题是从安全的角度出发的。通过将所有内联脚本(例如JavaScript)提取到外部源中,您真的能获得任何安全性方面的好处吗?
谢谢
关键是
用户代理无法判断内联脚本是否被攻击者注入。
为了提供保护,CSP必须防止由攻击者控制的子字符串导致代码运行。由于用户代理不知道HTML的哪些部分是由不受信任的输入指定的,哪些部分来自受信任的开发人员编写的模板,因此它必须假设最坏的情况——任何属性或元素都可能被攻击者控制。
通过将所有内联脚本(例如JavaScript)提取到外部源,您真的能获得任何安全好处吗?
。提取您想要运行的脚本不会提供任何安全好处,它只是让您在仍然使用CSP的情况下运行您想要的脚本。
相关文章:
- 内容安全策略:页面's设置阻止加载资源
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 旋转木马;启用内容安全策略时无法工作
- Extjs、Chrome扩展和内容安全策略
- 内容安全策略指令:;脚本src'self'blob:文件系统:chrome扩展资源:“;获取是否时
- 内容安全策略:无法在Chrome扩展中加载Google API
- 手动加载JQuery而不触发内容安全策略
- chrome扩展的内容安全策略问题
- WebGL CORS:试图突破用户代理的安全策略
- 在 JavaScript 中跟踪安全策略权限
- 如何打破内容安全策略
- 内容安全策略 + 表单插件
- 跨站点 XMLHttpRequest 内容安全策略指令解决方法
- 如何在浏览器 JS 控制台中包含脚本时覆盖内容安全策略
- Chrome 扩展程序“拒绝加载脚本,因为它违反了以下内容安全策略指令”
- 没有内联脚本,仍然得到"由于内容安全策略指令而被拒绝:“;脚本src'self'&”;
- 我如何让KendoUI功能,同时坚持严格的内容安全策略的脚本-src
- 为什么内联脚本被禁止(内容安全策略)
- 拒绝加载脚本,因为它违反了以下内容安全策略指令
- 内容安全策略:无法't在Firebug中解析无效的源chrome扩展-FB脚本错误