CSRF
# 什么是CSRF
摘自百度百科: 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
# 防范
- GET请求不对数据进行修改
- 不让第三方网站访问到用户的cookie, 设置SameSite
res.cookie('rememberme', '1',
{
expires: new Date(Date.now() + 900000),
httpOnly: true,
sameSite: "Strict"
});
1
2
3
4
5
6
2
3
4
5
6
- 检验HTTP请求头Referer字段
- 请求时附带验证信息,比如验证码或者Token