【每日一题】系统安全之CSP(Content-Security-Policy)

前端印记

共 1424字,需浏览 3分钟

 ·

2021-09-13 01:28

人生苦短,总需要一点仪式感。比如学前端~

CSP 本质上就是建立白名单,开发者明确告诉浏览器哪些外部资源可以加载和执行。我们只需要配置规则,如何拦截是由浏览器自己实现的。我们可以通过这种方式来尽量减少 xss 攻击。

开启 CSP

通常有两种方式:

HTTP Header

设置 HTTP 首部中的Content-Security-Policy

meta

另一种是设置 meta 标签的方式

<meta http-equiv="Content-Security-Policy">

举例

这里以设置 HTTP Header 来举例子

只允许加载本站资源

Content-Security-Policy:default-src 'self'

只允许加载 HTTPS 协议图片

Content-Security-Policy: img-src https://*

允许加载任何来源的框架

Content-Security-Policy: child-src 'none'

设置的属性还有很多,更多设置属性可以查看 MDN文档(https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)

对于这种方式来说,只要开发者配置了正确的规则,那么即使网站存在漏洞,攻击者也不能执行它的攻击代码,并且 CSP 的兼容性也不错


END
愿你历尽千帆,归来仍是少年。


让我们一起携手同走前端路!

关注公众号回复【加群】即可

● 工作中常见页面布局的n种实现方法

● 三栏响应式布局(左右固宽中间自适应)的5种方法

● 两栏自适应布局的n种实现方法汇总

● 工作中常见的两栏布局案例及分析

● 垂直居中布局的一百种实现方式

● 常用九宫格布局的几大方法汇总

● 为什么操作DOM会影响WEB应用的性能?

● 移动端滚动穿透的6种解决方案

● Vue + TypeScript 踩坑总结

浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报