CSRF 攻击是什么?如何防范?

1. 什么是 CSRF 攻击

跨站请求伪造,利用用户在特定网站上的登录状态。诱导用户在不知情的情况下执行攻击者预定的一些操作。

简单来说,就是攻击者通过受害者浏览器发送一个恶意请求到已经登录的网站。由于浏览器会自动携带这个网站的 cookie 认证信息。网站误认为请求是用户自己发起的。从而执行恶意的操作。比如转账、修改密码、发布内容等。这个就是 CSRF 攻击。

2. 如何防范?

2.1 使用 token

在表单或 ajax 请求中加入一次性 token,服务器在接受请求后,除了验证 cookie 外,还会验证这个 token 是否有效和未被使用过。

2.2 验证 referer

服务端验证请求头中的 referer 字段,referer 字段代表请求发送的站点。

2.3 二次确认

对于敏感操作,要求用户二次确认。比如转账,可以让用户在转账前,再次输入密码或验证码确认。

2.4 使用安全矿建或库

像 VUE 或 React 等都是内置了防止这种攻击的机制。我们需要充分利用它的这个安全特性。

2.5 限制 API 访问接口

对于 API 接口使用 API 密钥,对请求进行一些合法性的管理,确保接口调用来至授权的这个地址。

相关推荐
这个昵称也不能用吗?1 小时前
eas 热更新相关
前端
Tim风声(网络工程师)1 小时前
QoS (服务质量)和TE(流量工程)的区别
运维·网络
KaMeidebaby1 小时前
卡梅德生物技术快报|葫芦科植物遗传转化:Fast‑TrACC 工程化优化:葫芦科植物遗传转化效率提升与成本控制
前端·其他·百度·新浪微博
换日线°2 小时前
vue 加入购物车抛物线动画
前端·javascript·vue.js
七仔啊2 小时前
IPv6初尝试
网络·智能路由器
切糕师学AI2 小时前
为什么你的 SPA 网址必须包含 `#`?—— 前端路由 Hash 模式深度解析
前端·spa 网址·hash路由
线束线缆组件品替网2 小时前
Amphenol ICC RJE1Y33610162401解析:工业网络线束为何越来越重要?
运维·服务器·网络·数码相机·智能路由器·电脑·智能音箱
冴羽2 小时前
超越Vibe Coding —— AI 辅助编程进阶指南
前端·javascript·ai编程
MXN_小南学前端3 小时前
自制和整理常用前端 AI Skills分享,从需求到页面(附github地址)
前端·ai编程
yuki_uix3 小时前
双 RAF + MutationObserver:微前端跳转后的滚动复原完整方案
前端