请问csrftoken放在cookie中怎么会有效果呢?第三方网站伪造原网站请求时,会自动带上原网站的cookie,token也会被自动发送,这样岂不是一样的可以验证通过吗
请问csrftoken放在cookie中怎么会有效果呢?第三方网站伪造原网站请求时,会自动带上原网站的cookie,token也会被自动发送,这样岂不是一样的可以验证通过吗
看了几个问题和答案感觉自己明白了一些
token,放在cookie中,还是和直接使用cookie一样,所以仅仅将token放在cookie是不行的;
需要在页面上有一个地方存放token,以表单提交的方式提供给后台,后台可以校验表单中的token和cookie中的token是否一致,一致则继续校验token,不一致直接返回;
既然页面有token了为什么cookie还要额外存放一份,因为如果cookie不存放token,就要localStore存在token,总之要有一个地方将token落盘,因为如果不将token落盘,下次你再打开这个网址的时候,token就没了,还需要重新登录重新获取token;
为什么放在cookie之后,别的网站获取不到cookie里面的token而自己的网站可以获取token中的cookie呢?
因为cookie采取同源策略,只有相同域名的网页才能获取域名对应的cookie,
你在自己的网页上 getCookie可以获取自己的cookie;所以你自己的网站可以获取自己的token,放到input中
而别人在其他域名无法获取你的cookie,也就无法获取你的token,所以当别人伪造请求时,token和cookie中的token是绝对不一致的;
至于想知道token放在cookie和localStore的区别的话,可以百度去查一下,我也不知道,我去百度了
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
1、服务端token 和 表单页面token
2、cookie[token] 和 表单页面token
这两种解决方案都可以