![](/img/trans.png)
[英]How can I make a POST-request using Javscript in Django (CSRF-Token)?
[英]how to pass csrf-token in first request
我的問題是 cookie 是如何工作的,當我第一次加載我的頁面時,我想到了這個問題
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。
請幫幫我..... 抱歉在一個問題中添加了兩個問題,但兩者都間接相互關聯
實際上,django 在 127.0.0.1 上運行,而 angular 在 localhost(任何環回地址)上運行,這就是為什么出於安全(CORS)問題,瀏覽器(chrome)不允許我在請求中發送 cookie 或設置 cookie作為回應。 所以我有兩個選擇,一個是在瀏覽器中將相同站點更改為無,或者更改我的角度設置以在 127.0.0.1 上呈現。
CSRF 只能停止到 PUT、POST 和 DELETE,它總是以 GET 請求打開,如果您能夠在第一次通過 GET 發送它,那就太好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.