我正在使用python Django創建REST API's。客戶端是在react中開發的,並且是作爲獨立應用程序生成的。我是uios axios觸發http請求。我需要在每個post請求中傳遞CSRF token,但無法從瀏覽器獲取CSRF token。如何在使用REST API時在頭文件中獲得CSRF令牌並將其包含在其中?
0
A
回答
0
如何在做Ajax請求時傳遞CSRF?
首先,確保您的設置文件中的中間件列表中包含django.middleware.csrf.CsrfViewMiddleware。該中間件將CSRF_TOKEN設置爲cookie,以便您可以爲您的ajax請求檢索它。
其次,Django現在可以在會話中存儲CSRF。但是,在特定情況下,您不希望在會話中使用CSRF_TOKEN。確保您有CSRF_USE_SESSIONS = False(默認情況下)在Cookie中擁有CSRF。
如果你檢查cookie,你現在應該有一個CSRF_TOKEN。你可以動態地將它添加到你的ajax請求中,如果你正在使用下面的代碼使用jQuery。
https://docs.djangoproject.com/en/1.11/ref/csrf/#setting-the-token-on-the-ajax-request
我說,如果你是因爲你使用的反應,它不需要jQuery的做Ajax請求使用jQuery,這取決於你怎麼做他們。
相關問題
- 1. 如何在頭文件中包含依賴項而不將其包含在包含頭文件的項目中
- 2. 如何查找文件並在其中包含其他文件?
- 3. 如何在使用Django Rest框架時獲得初始CSRF令牌
- 4. 在其他頭文件中包含頭文件中的類
- 5. 如何在iOS中獲取CSRF令牌?
- 6. 使用Jersey通過REST獲取CSRF令牌並在登錄中使用它
- 7. 如何在sphinx項目中正確包含其他ReST文件?
- 8. 如何在Chrome插件中使用CSRF令牌/從其他來源
- 9. 如何在使用VSTS時在Azure雲服務包中包含其他文件?
- 10. 從頁面獲取CSRF令牌並將其張貼
- 11. 在Appcelerator Titanium中,我如何獲得Django的CSRF令牌?
- 12. 如何在功能測試中獲得CSRF令牌
- 13. 將REST服務的CSRF令牌包含爲Http響應頭是否安全?
- 14. 開發Java API並將其包含在Spring應用程序中
- 15. 在AJAX中包含CSRF令牌Post調用
- 16. Spring Security獲得CSRF令牌
- 17. 如何在Shopify中使用REST API在product.liquid文件中包含按鈕?
- 18. 從REST API獲取數據並將其存儲在HDFS/HBase中
- 19. 如何在Express中生成CSRF令牌?
- 20. 在Listner中獲取CSRF令牌symfony
- 21. 如何在OCaml中使用#use指令包含其他源文件?
- 22. 從href中獲取id並將其包含在jquery中
- 23. 如何使用Rest API更新JSON文件中的令牌C#
- 24. 如何將其他文件包含在Hugo/Markdown頁面中?
- 25. 包含在頭文件中
- 26. 包含在頭文件中
- 27. 在.jar中包含其他文件
- 28. 如何在OpenCorporates REST API中使用訪問令牌?
- 29. 設計不即使正確的X-CSRF令牌包含在請求頭
- 30. 如何在其他js文件中包含js文件?
CSRF令牌可用作cookie。那究竟是什麼問題?如何使用React從瀏覽器獲取它? –
在我的瀏覽器中,csrf令牌沒有被保存爲cookie –
如果'settings.py'中存在'CSRF_COOKIE_SECURE = True',並且您正在非安全地訪問站點,例如從本地主機訪問站點,就會發生這種情況。 –