一文带你了解CSRF与SameSite

本文介绍了Cookie的工作原理,阐述了CSRF攻击的概念及其产生原因,重点讲解了Cookie的SameSite属性如何防止跨站请求伪造攻击,保护用户的安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是Cookie

为了解释CSRF与SameSite的成因、关系与历史,我们首先需要对Cookie有一个基础的了解。

我们知道,HTTP请求本身是无状态的,正常来说,服务端收到请求后并不知道请求者是谁;

所以为了记录用户的标识信息,来提供更好更便捷的网络服务,Cookie应运而生。

就好像我们使用ATM服务(HTTP服务)一样,没有插入银行卡(Cookie)之前,机器并不知道面前的人是谁,有多少余额,甚至不让你使用大部分的功能;但是当你插入之前银行发售(SetCookie)给你的银行卡(Cookie)之后,ATM服务(HTTP服务)就能够认识你,并提供针对你的服务。

如图,可以看到大家[耳]熟能详的Cookie数据流过程。

  1. 首先,用户在浏览器中请求目标网站,请求内容是自己的身份信息(比如登录或者注册)。
  2. 服务收到用户信息后,会在这个HTTP请求的返回中给浏览器SetCookie的指令,并带上一串能够代表这个用户的id(银行卡号),浏览器收到SetCookie后,会将这个网站id在浏览器中进行存储。
  3. 当用户再次请求这个网站的其他HTTP服务时(比如获取购买记录),浏览器会自动检测本地Cookie中的id并自动添加到请求内容中。
  4. 这样,HTTP服务端收到这个请求的同时也会收到Cookie信息,通过查询后台数据便可得知这个用户的信息,返回针对这个用户的数据。

所以,Cookie是浏览器用来存储用户在各个网站的用户标识信息,是一系列小而碎的数据块(银行卡号),就好像碎饼干(Cookie)一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值