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

相关推荐
学习3人组6 小时前
OSPF 协议讲义
网络·智能路由器
LCG元6 小时前
ESPHome + HomeAssistant 搭建手机可控制的本地私有智能家居系统
网络·智能手机·智能家居
Nerd Nirvana6 小时前
TLS 1.3 与 DLMS Suite2(安全套件2)实现异同详解
网络·安全·dlms·tls·加密传输·智能终端
英俊潇洒美少年7 小时前
Vue 生产环境打包:SourceMap、压缩、混淆、Gzip、多环境配置 企业级最佳实践
前端·javascript·vue.js
2601_957786777 小时前
企业矩阵运营的“三段论“:管号、产内容、获线索——全链路系统的价值拆解
java·前端·矩阵·多平台管理
城市的稻草人VS7 小时前
rust【日志库】
前端·rust
问心无愧05137 小时前
ctf show web 入门258
android·前端·笔记
qq_2518364577 小时前
基于java Web 耗材购置与维修网络申报审批系统设计与实现
java·开发语言·前端
独钓寒江雨7 小时前
SRH介绍
运维·网络·srv6
UXbot7 小时前
企业AI开发工具:界面自动生成与前端代码交付能力详解
前端·人工智能·交互·web app·ui设计