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 密钥,对请求进行一些合法性的管理,确保接口调用来至授权的这个地址。

相关推荐
m0_敲代码的彭于晏16812 小时前
Vercel 前端部署平台深度评测
前端
怕浪猫14 小时前
外包和大厂的前端代码,差在凌晨三点
前端·面试·github
m0_敲代码的彭于晏16814 小时前
Vercel 前端部署与全栈开发实战指南
前端·状态模式
徐小夕14 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
贾伟康14 小时前
【化学实验室|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
前端·移动开发·harmonyos·arkts·arkui
Csvn15 小时前
SSR/SSG/ISR(上):峡谷与渲染策略的时间预算
前端
Csvn15 小时前
SSR/SSG/ISR(下):可交互性、新鲜度与回源账
前端
Elcker18 小时前
YnuoAgent(依诺):一个 npm 包,跑起属于自己的 AI 研发平台
前端·人工智能·npm
g3voip18 小时前
工业防水电话到底怎么选?隧道、管廊与码头的需求差异
服务器·网络·信息与通信·ip
计算机魔术师18 小时前
发现2天,修复2个月:AI挖穿PHP后,卡兹克讲透攻防时间差
前端