Security 使用内容安全策略(CSP)的真正意义是什么?

Security 使用内容安全策略(CSP)的真正意义是什么?,security,content-security-policy,Security,Content Security Policy,我已经阅读了所有的官方动机,为什么它是自切片面包以来最好的东西,但实际上,它是否可以通过浏览器扩展、浏览器设置、甚至浏览器默认设置/配置/功能/属性或代理来禁用和/或更改 如果有人真的想以你的网站为目标,为什么他们不禁用它或使用自定义方式连接到你的网站 很抱歉,这不是一个特定的代码问题。我很想知道为什么一开始就要费心去实现它?天知道,这种语法并不简单,而且严重缺乏功能,这让你在允许有风险的行为或限制站点功能之间做出选择,而无法以安全的方式保留功能 每种安全工具、指导方针和策略都能在不同的环境下解

我已经阅读了所有的官方动机,为什么它是自切片面包以来最好的东西,但实际上,它是否可以通过浏览器扩展、浏览器设置、甚至浏览器默认设置/配置/功能/属性或代理来禁用和/或更改

如果有人真的想以你的网站为目标,为什么他们不禁用它或使用自定义方式连接到你的网站


很抱歉,这不是一个特定的代码问题。我很想知道为什么一开始就要费心去实现它?天知道,这种语法并不简单,而且严重缺乏功能,这让你在允许有风险的行为或限制站点功能之间做出选择,而无法以安全的方式保留功能

每种安全工具、指导方针和策略都能在不同的环境下解决不同的问题

例如,代理可以重写。 但也有TLS/SSL/encryption来对付中间人

例如,浏览器/插件可以重写内容。 有反病毒软件。他们已经在客户端计算机上运行了,这不是一个问题

(如果小偷已经在你家里,你不会为了安全而锁门)

CSP解决了一个问题—来自可信来源的不可信内容。 您信任的网站上的第三方/用户生成的内容

比如说。 如果任何人将图片或javascript上传到易趣、亚马逊或任何带有支付网关的在线商店,服务主机或最终用户都不希望他们被执行以窃取您的密码、窃取登录cookie或将您重定向到钓鱼网站

如果有人真的想以你的网站为目标,为什么他们不禁用它或使用自定义方式连接到你的网站

他们可能会,但这不是CSP所保护的

很多网站黑客都是这样做的:坏人入侵网站。无辜的受害者进入网站,被坏人的有效载荷击中。CSP的作用是保护受害者,而不是阻止坏人进入。(其他安全措施负责最初的攻击。)


还要注意的是,如果你从第三方网站(如PayPal或Google)获取功能,“受害者”可能是你的网站,因为如果其中一个人被黑客攻击,你网站上的CSP会说“嘿,这是不允许的”。几个月前,一家服务提供商(忘了是谁)遭遇了一次大规模黑客攻击,攻击了大量网站,因为他们都是从一个网站上提取代码的。客户站点本可以使用一行CSP来防止客户受害,该CSP会识别提供商代码无效

,但如果“坏人黑客站点”,他们也可能会根据自己的意愿更改CSP。我的意思是,如果有人可以更改有效负载,他们可能还可以更改CSP HTTP头以使其有效。@Alex75取决于黑客。也许他们只是设法注入了一些JavaScript。它不会运行,因为它(例如)缺少CSP nonce