CSRF防御时,token一般放在Session中还是Cookie中?

发布于 2022-09-01 18:29:07 字数 116 浏览 13 评论 0

CSRF防御,一般会由服务器生成一个随机的token,这个token会在页面form表单提交时一起提交给服务器,以此来判断是否请求是CSRF请求。那么,这个token一般放在Session还是Cookie中,还是都行?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

挽手叙旧 2022-09-08 18:29:07

一种是SF形式,一份放在session中,另一份放表单域,提交的时候验证是否一致。

另外一种是CF形式,Cookie和表单,Cookie必须加 HTTPOnly。不能被浏览器读到的Cookie,其作用跟放在 Session里的数据一样。

蓝颜夕 2022-09-08 18:29:07

Session中,Cookie可以伪造

旧街凉风 2022-09-08 18:29:07

都不行,只能放到 form 的一个隐藏中控件中。

爱冒险 2022-09-08 18:29:07

放在前端不管放哪都可以伪造,token不就是为了权限控制和防止数据伪造吗,所以放前端哪里都一样

亣腦蒛氧 2022-09-08 18:29:07

放在form的隐藏域或者具有http_only属性的cookie字段中也是可以的,session中有点浪费服务器资源

栀子花开つ 2022-09-08 18:29:07

敏感的接口需要增加token校验,发生操作的请求前先获取安全加密token,然后请求接口带上token,后端接口需要判断token的时效性和加密规则判断

尹雨沫 2022-09-08 18:29:07

CSRF 跨站请求伪造。通常,这种方式攻击,攻击者并不能获取用户的cookie。而是利用用户cookie访问目标网站。指直接利用cookie,而非盗取cookie
csrftoken防御一种方式是可以存放在cookie中。
攻击者伪造1个post,骗取用户点击,action是目标网站,但并没有csrftoken,目标网站的验证就不能通过,就不能处理post请求。
正常请求,cookie除了sessionid还有csrftoken,和网站csrftoken匹配。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文