跨域CSRF

Mar*_*rin 5 django csrf

我有两个不同的 django 项目,其中一个位于域 A 上并具有一堆功能(其中有 REST)。站点 B 很简单,我想将 ajax-forms 发布到站点 A,但保持 csrf 安全。那可能吗?

顺便说一句,如有必要,站点可以共享数据库。

zer*_*oos 3

我遇到了类似的问题,并设法通过以下方式解决它:

  1. 从站点 B 向站点 A 发出 GET 请求以获取表单(带有 csrf 字段)
  2. 将表单发布回站点 A。

对我来说主要的问题是如何让跨站点 ajax 请求正常工作。为了实现这一点,我必须在服务器端正确配置 CORS(我稍微编辑了这个中间件: https: //gist.github.com/strogonoff/1369619)并设置xmlHttp.withCredentials = true(其中 xmlHttp 是我的 XMLHttpRequest 对象) ajax POST 函数。

我已经在同一 IP 地址上的两个不同的网络端口上测试了这个解决方案,但我认为它也应该可以跨域工作。