Django CSRF 檢查因Ajax Post 請求而失敗
如Django 文件所述,啟用惡意功能保護有助於防止惡意跨站點請求攻擊。按照說明,您嘗試透過 Ajax 發布實作 CSRF 檢查,但仍然遇到拒絕。
要解決此問題,請考慮以下步驟:
驗證令牌是否存在:
確保JavaScript 程式碼正在取得CSRF 令是否存在:
$.post("/memorize/", data, function (result) { ... }); var csrftoken = getCookie('csrftoken'); xhr.setRequestHeader("X-CSRFToken", csrftoken);
檢查回應正文:
檢查來自 Django 的回應正文,查看它是否明確提及缺失或無效的 CSRF 令牌。
$.ajax({ data: { csrfmiddlewaretoken: '{{ csrf_token }}', ... // Other data }, });
以上是為什麼我的 Django CSRF 檢查會因 Ajax POST 請求而失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!