为什么内联 JS 块不安全
Why are inline JS blocks unsafe?
我正在阅读Chrome扩展文档"内容安全政策(CSP)"。它说:
内联 JavaScript,以及危险的字符串到 JavaScript 方法 像 Eval 一样,不会被执行。此限制禁止内联 块和内联事件处理程序(例如
<button onclick="...">
)。。
没有放宽执行限制的机制 内联 JavaScript。特别是,设置脚本策略 包括不安全的内联将不起作用。这是故意的。
为什么内联<script>
块不安全?谁能解释一下?如果你能举个例子会更好。
谢谢。
正如页面所说:
第一个限制清除了一大类跨站点脚本 通过使您无法意外执行脚本进行攻击 由恶意第三方提供。
基本上,您加载的任何脚本都需要位于扩展名本地可访问的单独文件中。这可以防止您加载注入到页面中的第三方脚本或包含它们,例如:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
例如,如果您有用户可以填写的表单。用户可以输入一个包含一些JS的脚本标记。假设它就像一个讨论论坛。我进去做一个主题,但它里面有一些隐藏的JS。我们还假设您在发布之前没有将其清理干净。现在我的帖子有JS,每次有人查看它时都会执行。这会阻止执行该脚本。
相关文章:
- CORS保持在SecurityError上:操作不安全
- 如何在不使用JS发出新请求的情况下读取当前标头
- createObjectURL blob url在Firefox中不安全
- 地理定位API从Chrome 50中的不安全来源中删除
- Grunt不看JS文件
- 为什么流星会被认为是不安全的
- SecurityError:操作在canvas.toDataURL中不安全
- Mootools:拒绝设置不安全的标头“;连接”;
- Chrome for bookmarlet 中的“不安全内容”
- Javascript 单击html字段值而不编辑.js文件
- 为什么内联 JS 块不安全
- 5 秒后加载页面而不刷新 JS
- jQuery:Javascript抛出错误“;操作不安全”;设置值时
- 提交按钮的点击元素不调用JS函数
- AngularJS-ngBindHtml和'不安全'html
- 操作不安全-watermark.js
- Facebook JS SDK,从客户端传递UserID不安全
- 拒绝获取不安全的标头" accept - range "pdf.js与亚马逊网址错误
- Meteor JS -集合(mongodb)可以被任何访问者更改(不安全)
- Heroku错误:页面是通过HTTPS加载的,但请求了一个不安全的脚本“角度路由.js”