面试之《web安全问题》

1. csrf攻击 (Cross-site request forgery) 跨站请求伪造。利用用户的cookie,伪造用户操作接口。

案例

  • 用户登陆了a网站,cookie已经生成。
  • 用户打开了钓鱼网站b,黑客在b网站中调用了a网站的接口,就可以用用户在a网站中的cookie去获取a网站的信息,甚至去调用支付接口。

怎么预防

  • cookie设置sameSite,只允许当前域名下访问
  • 后端验证请求头中的Referer值,如果非规定域名,则不允许操作接口。

2. xss 利用系统漏洞注入有害代码,获取系统信息,或者利用脚本窃取用户信息。

案例

  • 用户通过输入框输入脚本代码,提交至服务器,例如脚本使用img标签去调用他预先写好的get方法,拿到用户的cookie。他再用cookie去做一些坏事
  • 搜索关键字或注册时,都会直接调用sql语句,如果输入了一段恶意的sql,且没有做安全校验的话,黑客就会通过注入的sql语句做一些坏事

如何防范

  • 不相信用户输入的所有内容,对用户可输入的所有内容都要做二次校验,转义等操作。
  • 服务端在拿到值去做sql查询时,也要做好 转义的操作

3. DDos攻击,高频次访问ip,导致服务器负载超标,引起宕机

  • 可以利用阿里云或其他云服务器商的防火墙
  • 后端也可以做好防护策略,同一ip多次访问时,进行拦截,例如1分钟内访问60次,将其锁住x秒,期间再次访问,就会直接返回错误信息。
  • 之前写爬虫的时候就遇到过这个问题,访问的过于频繁,就会被警告。。
相关推荐
姚永强16 分钟前
登录系统网址作业
开发语言·前端·javascript
努力挣钱的小鑫31 分钟前
【Vue】vue3 video 保存视频进度,每次进入加载上次的视频进度
前端·javascript·音视频
明月看潮生37 分钟前
青少年编程与数学 02-006 前端开发框架VUE 25课题、UI数据
javascript·vue.js·ui·青少年编程·编程与数学
做一个有信仰de人41 分钟前
【面试题】Spring/SpringBoot部分[2025/1/6 ~ 2025/1/12]
java·spring boot·spring·面试
黄团团42 分钟前
Vue2+OpenLayers实现车辆开始、暂停、重置行驶轨迹动画(提供Gitee源码)
前端·javascript·数据库·vue.js·gitee·html
Judy16231 小时前
Vue 实现当前页面刷新的几种方法
前端·javascript·vue.js
芳草萋萋鹦鹉洲哦1 小时前
【element plus】虚拟dom表格中cellRenderer如何使用v-for循环渲染item
前端·javascript·elementui·虚拟dom表格
图扑软件1 小时前
智慧充电桩可视化管理提升能源效率
前端·javascript·人工智能·能源·数字孪生·可视化·充电桩
Lysun0011 小时前
vue3里面,事件触发一次,方法执行多次
javascript·vue.js·elementui·element-plus
♟彦♟1 小时前
web-前端小实验8
开发语言·前端·javascript