简单介绍CSP

前面的文章里,提到过什么是XSS攻击,感兴趣可以去看一下关于XSS攻击的一些总结,对于其防御有两种方式,第一种是在客户端进行编码,第二种是在HTTP首部配置set-cookie两个属性httponly和secure两个属性,其实还有另外一种方式,在介绍之前,先通过一个故事来引用一下:
有一个国家,国王广发请帖,要宴请各国使臣,但是考虑到种种外交上的因素,一些刺客可能会装作使臣的模样前来破坏宴会,那么怎么样才能识别出这些刺客呢?于是国王便询问大臣们,大臣们纷纷请奏上表;
大臣甲提出:启奏吾王,臣认为,X和Y国素来与我国不和,这两国最有可能派来刺客,应当将两国使臣拒之国外。
大臣乙提出:臣以为此举虽能限制这两国,但若这两国混入他国使臣,亦或者其余各国之中也存在异心,如何能防,臣之拙见吾王派使者前去赴宴各国告知入宴之规则,衣裳言语之限制,待到宴会之时,不守其规则约束者不得入宴。
国王一听,两位爱卿皆言之有理,于是采取了他们的建议,宴会那天果然平安无事。
看完之后,对CSP有些了解的同学,可能会联想到,这不就是CSP的防御手段吗?没错,CSP 的主要目标是减少和报告 XSS 攻击,主要也是通过两种方式:

  1. 限制可以加载内容的域:CSP通过指定浏览器认可的可执行脚本的有效来源作为作用域,使服务器管理者有能力减少或消除XSS攻击所依赖的载体。使用CSP的浏览器只会从“白名单”中加载脚本,而其他的脚本则会被忽略,但是CSP无法禁所有的脚本运行,那样这个浏览器还有还什么意义呢?
  2. 指定协议使用:比如服务器可指定所有内容必须通过HTTPS加载。一个完整的数据安全传输策略不仅强制使用HTTPS进行数据传输,也为所有的cookie标记安全标识 cookies with the secure flag,并且提供自动的重定向使得HTTP页面导向HTTPS版本。
    具体可以参考MDN权威解释:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值