首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在第一次请求中传递csrf-token

如何在第一次请求中传递csrf-token
EN

Stack Overflow用户
提问于 2019-07-22 17:47:16
回答 2查看 274关注 0票数 0

我的问题是cookies是如何工作的,当我第一次加载我的页面时,这个问题就出现在我的脑海中。

代码语言:javascript
复制
REQUEST HEADER
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
Cookie: csrftoken=gsZxmbW4XUpE6YnaQhlrAx9JduyExVgzWEo4fXhcY4V3fbHWVtwf0msbDQDT5r43
Host: 127.0.0.1:8000
Upgrade-Insecure-Requests: 1

发送第一个请求时,cookie中已有csrftoken

我在匿名窗口中尝试了同样的方法,也得到了同样的结果。我的浏览器如何在不与服务器通信的情况下拥有cookie

我正在使用angular 7开发django,问题是我从angular发送了我的请求

代码语言:javascript
复制
 this.http.post('http://127.0.0.1:8000/',data,  {observe : "response", withCredentials: true } )}

但是作为响应,我在setcookie中没有得到任何csrftoken。

请帮帮我……很抱歉在一个问题中添加了两个问题,但这两个问题都是间接相关的

EN

回答 2

Stack Overflow用户

发布于 2019-07-24 20:36:30

实际上,django运行在127.0.0.1上,而angular运行在本地主机(任何环回地址)上,这就是为什么为了安全(CORS)问题,浏览器(Chrome)既不允许我在请求中发送cookie,也不允许我在响应中设置cookie。所以我有两个选择,一个在浏览器中将same-site更改为none,或者将我的angular设置更改为render on 127.0.0.1。

票数 0
EN

Stack Overflow用户

发布于 2021-11-02 12:45:44

CSRF只能停止PUT,POST和DELETE,它总是通过GET请求打开的,如果你能够第一次通过GET发送它,那是很好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57143297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档