Description
有哪些可能引起前端安全的的问题?
XSS: 跨网站指令码是一种网站应用程式的安全漏洞攻击,是代码注入的一种。
XSS 分为三种:反射型,存储型和 DOM-based
CSRF: 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法,简单点说,CSRF 就是利用用户的登录态发起恶意请求。
XSS分为哪几类?
存储型 XSS
反射型 XSS
DOM型 XSS
参考: https://www.cxymsg.com/guide/security.html#xss%E5%88%86%E4%B8%BA%E5%93%AA%E5%87%A0%E7%B1%BB
如何预防XSS?
XSS 攻击有两大要素:
- 攻击者提交恶意代码。
- 浏览器执行恶意代码。
预防存储型和反射型 XSS 攻击
存储型和反射型 XSS 都是在服务端取出恶意代码后,插入到响应 HTML 里的,攻击者刻意编写的“数据”被内嵌到“代码”中,被浏览器所执行。
- 改成纯前端渲染,把代码和数据分隔开。
- 对 HTML 做充分转义。
预防 DOM 型 XSS 攻击
- 输入内容长度控制
CSRF是什么?
CSRF的攻击类型?
如何预防CSRF?
参考: https://www.cxymsg.com/guide/security.html#csrf%E7%9A%84%E6%94%BB%E5%87%BB%E7%B1%BB%E5%9E%8B
网络劫持有哪几种?
网络劫持一般分为两种:
DNS劫持: (输入京东被强制跳转到淘宝这就属于dns劫持)
DNS强制解析: 通过修改运营商的本地DNS记录,来引导用户流量到缓存服务器
302跳转的方式: 通过监控网络出口的流量,分析判断哪些内容是可以进行劫持处理的,再对劫持的内存发起302跳转的回复,引导用户获取内容
HTTP劫持: (访问谷歌但是一直有贪玩蓝月的广告),由于http明文传输,运营商会修改你的http响应内容(即加广告)
如何应对网络劫持?
DNS劫持由于涉嫌违法,已经被监管起来,现在很少会有DNS劫持,而http劫持依然非常盛行.
最有效的办法就是全站HTTPS,将HTTP加密,这使得运营商无法获取明文,就无法劫持你的响应内容.