问题标签 [django-csrf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
323 浏览

django - 如何找出谁负责 Django 的 CSRF 中间件?

我怎样才能找出谁负责 Django 的 CSRF 中间件,以便我可以问他们问题?

在我的 Django 网站上几个月来我遇到了很多 CSRF 故障,并且每隔几周就会花费我数小时的时间来解决问题。我想联系开发它的开发人员,就我遇到的问题向他们询问一两个根本问题。

我发布了其他几篇关于从未得到满意答案的问题的帖子,但这确实导致了一些解决方法:
无法禁用 Django CSRF 框架,并且正在破坏我的站点
Django CSRF 框架有很多失败
来自 Django 的 CSRF 中间件的大量误报?
对于 Django 的 CSRF 失败中间件,如何获取 CSRF 错误来报告哪个 URL 失败?

其他一些人也有同样的挫败感: 在 SVN Trunk 中完全禁用 Django 的 CSRF 保护

0 投票
1 回答
1472 浏览

django - Django 将 CSRF 令牌输出为对象而不是值

我在 Django 中以简单的 POST 形式处理 CSRF 令牌。该模板生成以下 CSRF 输出,而不是输出令牌的值:

{% csrf_token %}在模板中使用,我该如何解决这个问题?(我正在使用 Django 1.2)

编辑:确切的表单代码是:

0 投票
1 回答
737 浏览

django - Django - 如何在公共页面上做CSFR?或者,更好的是,它应该如何使用时期?

阅读后:http ://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-to-use-it

我得出的结论是,除非您信任使用它的页面的人,否则使用它是无效的。它是否正确?

我想我真的不明白什么时候可以安全使用它,因为这个声明:

对于以外部 URL 为目标的 POST 表单,不应这样做,因为这会导致 CSRF 令牌泄露,从而导致漏洞。

令人困惑的原因是;对我来说,“外部 URL”将是不属于我的域的页面(即,我拥有 www.example.com 并放置一个发布到 www.spamfoo.com 的表单。这显然不可能因为人们不会使用 Django 生成发布到其他人网站的表单,但是您不能在公共表单(如登录表单)上使用 CSRF 保护怎么可能是真的呢?

0 投票
1 回答
1040 浏览

python - 当表单发布到不同的框架时,Django CSRF 失败

我正在构建一个页面,我希望有一个表单可以发布到同一页面上的 iframe。模板如下所示:

背后的观点form-results是得到 CSRF 错误。跨框发帖有什么特别需要的吗?

0 投票
7 回答
22808 浏览

python - django中的csrf错误

我想为我的网站实现登录。我基本上将 Django Book 中的以下内容复制并粘贴在一起。但是,在提交我的注册表单时,我仍然收到错误消息(CSRF 验证失败。请求中止。)。有人能告诉我是什么引发了这个错误以及如何解决它吗?

这是我的代码:

视图.py:

注册.html:

0 投票
2 回答
6648 浏览

python - 为不总是有响应的视图禁用 Django CSRF

我有一个 Django 视图,它接收不需要 CSRF 令牌的 POST。因此我@csrf_exempt在视图上使用了装饰器。问题是有时我不会从视图中发出响应(它是一个 Twitter 机器人,它为每条推文接收一个 HTTP POST,我不想回复每条推文)。当我不发出响应时,我收到以下错误:

resp (我假设是响应)是 None 因为视图是用 just 退出的return。如何避免此错误并且在 POST 中仍然不需要 CSRF 令牌。

谢谢!

0 投票
3 回答
38101 浏览

django - 如何将 django csrf 令牌直接嵌入 HTML?

在我的 django 应用程序中,我将 html 字符串存储在数据库中,然后将其作为“消息”显示在用户的主页上。其中一些消息包含表单,但不是用模板语言编写的,我无法插入 csrf 令牌(从而破坏了应用程序)。

有没有办法直接从我正在编辑的 python 文件中插入这个令牌?我正在寻找类似的东西:

在类似情况下工作的任何其他解决方案都会很棒。谢谢

编辑: 实际上这行不通,因为每个会话的令牌都不同,因此将其存储在数据库中并不是很有用。有没有办法在视图中动态加载令牌?

0 投票
1 回答
614 浏览

django - 在 django 中使用通用视图的问题

我目前正在使用 django 通用视图,但我有一个无法解决的问题。

当使用 delete_object 我得到一个 TypeError 异常:

这是代码(我省略了文档字符串和导入):

视图.py

网址.py

其他通用视图(object_list、create_object 等)可以很好地使用这些参数。我遇到的另一个问题是使用 create_object() 函数时,它说明了 CSRF 机制,那是什么?

0 投票
1 回答
166 浏览

django - csrf_token cookie 被另一个站点删除了?

我有一个在 1.2.1 上运行的 django 站点,有时我的用户会丢失很多工作,因为 csrf_token cookie 不存在并且页面错误并在发布时出现 403 错误。我将其缩小到另一个站点(我的用户经常访问)删除我身上的 cookie。该站点使用 ActiveX ClearAuthenticationCache 命令执行此操作。

这个问题除了去掉 CSRF 保护还有什么解决办法吗?

谢谢,皮特

0 投票
3 回答
1076 浏览

iphone - 我将如何从 iPhone 应用程序向 Django 后端进行身份验证并向其发出请求以绕过 CSRF?

我正在与一位没有任何 Django 经验的 iPhone 开发人员一起工作,而且我对 Django 还比较陌生。我已经构建了一个现有的 Django 应用程序,它带有一个 Web 界面,允许用户登录并将我们数据库中的书籍添加到他的个人图书馆。

我们正在尝试构建一个允许用户进行身份验证和访问库的 iPhone 应用程序,我想知道进行身份验证然后请求用户库的最佳方法是什么。我们开始使用 HTTP POST 请求将凭据发送到 Django 应用程序,但我认识的另一位 Django 开发人员告诉我,这将是一个跨域请求,从 Django 1.2 开始将无法工作。

如果我不能进行跨域 HTTP POST 请求,我应该如何将数据从 iPhone 应用程序 POST 到 Django 应用程序?