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

相关推荐
lichenyang4531 分钟前
JSBridge 分发升级:为什么要从 if-else 变成 Registry > 这是「ASCF 架构升级」系列的第 3 篇
前端
码上天下4 分钟前
流式响应断了,前端怎么自动重连续传
前端
anyup4 分钟前
来简单聊聊鸿蒙开发,万元奖金的事~
前端·华为·harmonyos
北凉温华14 分钟前
Univer 在线表格模块使用说明
前端
lichenyang45324 分钟前
WebRuntimePage 拆分:从大页面到运行时控制器
前端
竹林81835 分钟前
从报错到跑通:我用 @solana/web3.js 开发 Solana 钱包连接踩过的三个坑
前端
MariaH36 分钟前
Node中操作MySQL
前端
还有多久拿退休金37 分钟前
一个 var 让整个团队加班到凌晨——JS 闭包的那些暗坑
前端·javascript
weedsfly38 分钟前
用了 React/Vue 之后,这些 DOM 操作的坑你踩过几个?
前端·javascript
Asize41 分钟前
Ajax 入门:从 JSON 序列化到 XMLHttpRequest
前端·javascript·前端框架