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

相关推荐
抹茶冰淇淋19 分钟前
降级系统后,2019年的Mac电脑重获新生
前端
雪碧聊技术1 小时前
前端VUE3项目部署到linux服务器(CentOS 7)
前端·linux部署vue3项目
盐焗西兰花3 小时前
鸿蒙学习实战之路 - 网络重连最佳实践
网络·学习·harmonyos
酒尘&7 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
学历真的很重要8 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
用户47949283569159 小时前
"讲讲原型链" —— 面试官最爱问的 JavaScript 基础
前端·javascript·面试
用户47949283569159 小时前
2025 年 TC39 都在忙什么?Import Bytes、Iterator Chunking 来了
前端·javascript·面试
义一9 小时前
华为eNSP示例说明网关地址和终端IP地址不在同一网段能正常通信吗
网络
大怪v10 小时前
【Virtual World 04】我们的目标,无限宇宙!!
前端·javascript·代码规范
狂炫冰美式10 小时前
不谈技术,搞点文化 🧀 —— 从复活一句明代残诗破局产品迭代
前端·人工智能·后端