浅谈前端安全

面试被问到了前端安全方面的,然后一问三不知,现在先总结一下概念性的吧。

XSS攻击

什么是XSS

XSS全称跨站脚本攻击,是指恶意的web用户将代码植入到网站提供给其他用户使用的页面中,使得在渲染页面时执行了预期外的代码。

XSS的攻击方式
  1. 反射型攻击

将XSS代码作为url的参数提交给服务器,服务器返回的响应中包含该XSS代码,浏览器解析执行该代码。
举个例子,通过这种方式可以获取网页cookie中的信息

$.ajax({
  url:"http://localhost:3000?keyword=<script>alert(document.cookie);</script>",
  type:"GET"
 });
  1. 存储型攻击
    将XSS代码发送给服务器,存在服务器的数据库或内存中,下次请求页面会加载XSS代码
  2. DOM XSS
    恶意XSS代码在客户端本地执行
XSS的危害
  1. 盗取用户信息
  2. 流量劫持(定位到其他网站)
  3. Dos攻击
防御XSS
  1. 过滤危险节点:script,img,style,link,frame,iframe
  2. 对用户的数据进行编码处理
  3. 对cookie设置http-only,这样js脚本无法获得document.cookie

CSRF攻击

CSRF全称跨站请求伪造,是指非授权用户利用授权用户的浏览器取得目标站点的信任,向目标站点发送http请求

防范措施
  1. 验证码
    要求用户填写验证码,确保浏览器发送的请求经过用户确认,问题是用户的所有请求不能都填验证码
  2. Referer Check
    用来检查请求是否来自合法的源
  3. token
    用户访问页面时服务端会生成一个token,放在用户的session或cookie中,用户请求时会附带上token,服务端收到请求会监测token是否一致,这种方法要注意token的有效性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值