常见的前端攻击手段及预防方案

XSS 跨站脚本攻击

  • 手段:将 JS 代码插入到网页内容中,渲染时执行 JS 代码;
  • 预防:替换特殊字符。eg:
str.replaceAll('<','&lt').replace('>','&gt');
  • 补充说明: vue 和 react 默认可以避免 XSS 攻击,除非 vue 使用 v-html,react 使用 dangerouslySetInnerHTML();

CSRF 跨站请求伪造

  • 手段:用户在 A 网站登录注册,浏览器自动写入 cookie,黑客诱导用户去访问 B 网站,并在 B 网站请求 A 网站的接口,此时 A 网站 cookie 已经注入,认为是用户自己操作,常见场景:诱导购买、诱导关注等;
  • 预防:严格的跨域限制 + 验证码校验;

点击劫持

  • 手段:界面上蒙一个透明的 iframe,诱导用户去点击;
  • 预防:让 iframe 不能跨域加载:
// 网页在当前自己的域名可以加载 iframe,不允许第三方 iframe 加载自己的网页
x-Frame-options:sameOrigin; 

DDos 分布式拒绝服务

  • 手段:分布式的、大规模的流量访问,使服务器瘫痪;
  • 预防:软件层面不好做,硬件预防;

SQL 注入(早期前后端不分离使用的手段)

  • 手段:黑客提交内容时写入 SQL 语句,破坏数据库;
  • 预防:处理输入的内容,替换特殊字符;

写在最后

安全问题不是前端 or 后端一方的责任,需要两端都处理!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值