security - 使用内容安全策略 (CSP) 的真正意义是什么?
问题描述
我已经阅读了所有官方动机,为什么它是自切片面包以来最好的东西,但实际上,如果它可以被浏览器扩展、浏览器设置甚至浏览器默认设置/配置/功能/属性或代理禁用和/或更改?
如果有人真的想定位您的网站,他们为什么不禁用它或使用自定义方式连接到您的网站?
很抱歉这不是一个特定的代码问题。我更想知道为什么一个人甚至应该首先为实现这一点而烦恼?上帝知道语法不是微不足道的,并且严重缺乏功能,让您在允许危险行为或限制站点功能之间做出选择,而无法以安全的方式保留功能。
解决方案
如果有人真的想定位您的网站,他们为什么不禁用它或使用自定义方式连接到您的网站?
他们可能会,但这不是 CSP 所保护的。
很多网站黑客都是这样的:Bad Guy hacks site。Innocent Victim 访问站点,并被 Bad Guy 的有效载荷击中。在这种情况下,CSP 致力于保护受害者,而不是防止坏人进入。(其他安全措施负责最初的攻击。)
另请注意,如果您从第三方网站(例如 PayPal 或 Google)获取功能,“受害者”可能是您的网站,因为如果其中一个人被黑客入侵,您网站上的 CSP 可能会说“嘿,这是不允许的”。几个月前,一家服务提供商(忘记了谁)发生了一次大黑客攻击,攻击了大量网站,因为他们都在从那个网站提取代码。客户站点本可以通过一行 CSP 来防止其客户受害,该 CSP 将识别出供应商代码无效
推荐阅读
- python - 如何使用python从.txt文件中提取随机单词?
- python - 如何使用python从字符串中删除引用的单词/短语?
- javascript - OrientDB:如何检查服务器端函数中的查询结果是否为空?
- c# - 在现有 .NET Core MVC 项目中基于 URL 有条件地渲染 React 组件
- javascript - 使用变换缩放:矩阵():如何坚持左边缘(改变缩放中心)?
- java - Java TCP Ping IP 地址
- php - 如何将主键的值插入到插入查询中
- nativescript - 为什么模拟器和物理设备之间的 scollview 行为不同?
- .net - 403 禁止:您无权访问此资源。Apache/2.4.18 (Ubuntu) 服务器端口 443
- scala - Databricks scala 从数据帧字段中删除间歇性\n