面试—前端安全问题防御

1、xss跨站脚本攻击
xss跨站脚本攻击主要是用户通过输入或者其他的方式,注入一段js代码,而页面在没有任何防御措施的条件下去执行这段js代码,导致页面崩溃或者服务器崩塌或者窃取一些cookie等隐藏信息等行为。

xss的防范手段:
(1)、通过encode手段加密敏感信息,比如就是将一些有特殊意义的字符串进行替换,这样前端传给后端的就只是一堆字符串而不是可以运行的js,可以保证运行安全;
(2)、对于富文本的信息,可以通过xss-filter.js,设置一个白名单,进行过滤之后,再把信息传给后端

2、CSRF跨站请求伪造
CSRF跨站请求伪造,主要的场景就是,用户进入钓鱼网站,通过钓鱼网站不慎输入自己的敏感信息,网站拿到用户的敏感信息之后模拟去另外一个网站进行操作
为了防止钓鱼网站利用用户的敏感信息去进行操作,我们可以做以下防范:
(1)、提交 method=Post 判断referer
HTTP请求中有一个referer的报文头,用来指明当前流量的来源参考页。如果我们用post就可以将页面的referer带入,从而进行判断请求的来源是不是安全的网站。但是referer在本地起的服务中是没有的,直接请求页面也不会有。这就是为什么我们要用Post请求方式。直接请求页面,因为post请求是肯定会带入referer,但get有可能不会带referer。
(2)、利用Token
Token简单来说就是由后端生成的一个唯一的登陆态,并传给前端保存在前端,每次前端请求时都会携带着Token,后端会先去解析这个Token,看看是不是后台给我们的,已经是否登陆超时,如果校验通过了,才会同意接口请求

你可能感兴趣的:(面试—前端安全问题防御)