我的问题是cookies是如何工作的,当我第一次加载我的页面时,这个问题就出现在我的脑海中。
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发送了我的请求
this.http.post('http://127.0.0.1:8000/',data, {observe : "response", withCredentials: true } )}但是作为响应,我在setcookie中没有得到任何csrftoken。
请帮帮我……很抱歉在一个问题中添加了两个问题,但这两个问题都是间接相关的
发布于 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。
发布于 2021-11-02 12:45:44
CSRF只能停止PUT,POST和DELETE,它总是通过GET请求打开的,如果你能够第一次通过GET发送它,那是很好的。
https://stackoverflow.com/questions/57143297
复制相似问题