- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我开发了一个 Django 文件上传 API,它从客户端接收发布的数据并将数据保存为文件。
根据Django CSRF manual ,HTTP 请求 header 应使用 csrftoken cookie 值设置 X-CSRFToken。我已经通过下面的代码设置了 X-CSRFToken,但是 POST 请求仍然被 Django 服务器禁止(403),如下图所示。
$(document).ready(function(){
var authid
$.get("http://localhost:8000/v1/getAuthID?username=testuser1&password=123", function(data){
authid = data["authid"];
var csrftoken = $.cookie('csrftoken');
console.log(csrftoken);
$.ajaxSetup({
beforeSend: function(xhr, settings) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
});
url = "http://localhost:8000/v1/file".replace("{authid}", authid).replace("{token}", csrftoken)
$.post(url, function(data){
})
})
})
您是如何通过向 Django 服务器发送 POST 请求来克服 Django CSRF 的?
谢谢!
最佳答案
将 ajaxSetup 移到 AJAX 成功函数之外,因为它是请求所必需的,而不是在它之后。
$(document).ready(function(){
var authid;
var csrftoken = $.cookie('csrftoken');
console.log(csrftoken);
$.ajaxSetup({
beforeSend: function(xhr, settings) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
});
$.get("http://localhost:8000/v1/getAuthID?username=testuser1&password=123", function(data){
authid = data["authid"];
url = "http://localhost:8000/v1/file".replace("{authid}", authid).replace("{token}", csrftoken)
$.post(url, function(data){
})
})
})
关于python - Django X-CSRFToken 已设置但仍然禁止 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31982206/
我试图找到以下问题的答案。 什么情况下浏览器会存储多个csrftoken cookies ? 它是正确的还是技术上有效的功能? 以及在 RFC/security 文档中传递数组的位置,或尝试 csrf
有没有办法直接在View中获取csrftoken? 我想获取当前的 csrftoken,但有时会发生变化,因此从 Cookies 获取它不是一个好主意。 有什么办法吗? 谢谢! 最佳答案 我相信您正在
我使用 ajax 调用对 CRUD(使用 csrf token )的薄美味层。一切都像魅力一样,直到我运行该网站,例如Chrome 隐身模式。我不断收到 CUD 请求的 401。 查看请求 cooki
我正在测试发出 POST ajax 请求,但由于没有 csrftoken,我收到了 403。我跟着文档,但是,它仍然不起作用,我发现名为 csrftoken 的 cookie 是 空 , 意思是 $.
我在我的 SPA 中遇到了 Django CSRF token 的奇怪问题。 当我呈现我的应用程序时,我确保使用 ensure_csrf_cookie 设置 token 。当我检查我的 cookie
我有一个带有表单元素的 django 模板,其中包括一些输入文本编辑和一个提交按钮以及一个带有 DropzoneJS 的用户头像 uploader 。问题是我无法将 DropzonJs 放入表单的 d
试图了解安全性。好奇为什么在Django何时 提交表单(POST)时,有2个单独的“元素” 包含相同的csrf token 值: - the csrftoken cookie: COOKIE
我正在与 Django 合作创建一个网站,并遇到了一些关于 CSRF 的问题。我用 django.middleware.csrf.CsrfViewMiddleware并添加 {% csrf_token
csrftoken 存储在哪里? 当我访问 API 端点时(注销 API,它不需要参数): POST /rest-auth/logout/ HTTP/1.1 Host: 10.10.10.105:80
如何通过 python 模块 Requests 传递 csrftoken?这就是我所拥有的,但它不起作用,我不确定将它传递给哪个参数(数据、 header 、身份验证...) import reque
在我的 Django 的 settings.py 中,我有 SESSION_COOKIE_HTTPONLY = True SECURE_CONTENT_TYPE_NOSNIFF = True SECU
我有这样的python代码 s=requests.Session() headers = {'User-Agent': 'Mozilla/5.0'} URL = 'http://test.dev/ap
我开发了一个 Django 文件上传 API,它从客户端接收发布的数据并将数据保存为文件。 根据Django CSRF manual ,HTTP 请求 header 应使用 csrftoken coo
我需要通过基于 Ajax 的发布请求传递 CSRFToken,但不确定如何以最佳方式完成。使用在请求中内部检查 CSRFToken 的平台(仅限 POST 请求) 最初我想把它添加到标题中 $(fun
在Vue.js项目中,如何获取csrftoken? 我试过使用js-cookie,但无法获取: import Cookies from 'js-cookie'; if (Cookies.get('cs
我使用 Django rest 框架作为我的后端 (api),并使用 React 作为前端。 现在我想将表单数据 POST 到后端。我想用csrf保护,因为安全。因此,我尝试使用 Django 发送的
我的问题是,上传文件时显示以下错误。我该如何解决这个问题? 这是我在模板中的代码:
使用: Django 3.x [Django-Filters 2.2.0、graphene-django 2.8.0、graphql-relay 2.0.1] Vue 2.x [Vue-Apollo]
当我们必须发送{% csrf_token %}时,django中的csrftoken-cookie有什么用在每个表单提交中。 {% csrf_token %} Submit Django 处理器总
如何在 Axios.interceptors.request 的配置中获取 Cookies 的 csrftoken? Axios.interceptors.request.use( config
我是一名优秀的程序员,十分优秀!