问题标签 [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 投票
3 回答
4812 浏览

python - django csrf_token 不打印隐藏的输入字段

我的views.py

在我的模板中index.html

所以当我在浏览器中打开主页并查看源代码时,并没有 csrf 令牌!

我错过了什么?

更新有帮助。

0 投票
2 回答
7794 浏览

django - Django CSRF 令牌不会显示

以下是模板中相关的 HTML 片段:

这是我的settings.py MIDDLEWARE_CLASSES声明:

CSRF 令牌根本不显示,导致

禁止 (403) CSRF 验证失败。请求中止。

0 投票
2 回答
3437 浏览

django - 在什么情况下 CSRF-exempt 是危险的?

这个问题更像是一种再保险,而不是直接关于如何编码的问题。作为一个自学者,我没有太多机会向专业人士询问此类问题,所以我在这里尝试。

我已经阅读了 django-docs ( https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/ ) 中的文档以及该页面上的一些信息:http: //cwe.mitre.org/top25 /#CWE-352

据我了解,django 向用户提供了一个令牌(某种密码)。为了验证它真的是他,他必须在下次他提出请求时归还它。Google 的一些人发现这甚至可以通过 ajax-requests 实现,这就是为什么我们从 1.2.6 开始也制定了保护它们的新政策。CSRF 是关于有人冒充别人给我一些东西(坏的、危险的代码、损坏的文件或类似的东西)。

所以如果我有这样的代码:

应该保存,因为在尝试将给定值转换为整数之前,我没有授予对数据库或应用程序任何部分的访问权限。如果我对某人下载文件做了错误的记录(在这种情况下几乎没有),也不会造成太大的损害。假设我会根据这种观点编写法案,那么 CSRF 豁免将是一个坏主意(对吗?)。

我也不明白为什么有人不能从用户那里窃取 CSRF 令牌并用它来欺骗我(或用户)。所以我对这个话题有一些疑问:

1)我的假设是否正确?

2) 有人可以告诉我,一些不太好的人可以使用上面的视图来做肮脏的把戏(以及可能如何),他们会是什么?

3) CSRF 是中间人攻击的一个例子,它只是与之相关,还是完全不同?

4)任何有价值的链接可以进一步阅读这些危险?

也许其中一些问题听起来不太了解,但我正在努力克服这一点。如果有人可以帮助我,我会很高兴。

0 投票
0 回答
52 浏览

jquery - 使用 Django 进行 Jquery 验证 - CSRF 验证失败

可能重复:
Jquery 验证 - 从服务器端 Django 检查电子邮件和用户名的可用性

我想使用 Jquery 验证插件远程检查用户名和电子邮件的可用性。但是我收到 403 Forbidden - CSRF 验证失败。我不知道在哪里将 Django csrf 模板标签用于 Jquery Post Request。

视图.py:

网址.py:

signup.html:https ://gist.github.com/2253002

有人可以帮我吗?

谢谢!

0 投票
2 回答
1165 浏览

javascript - 获得 POST500(OK),当使用 $.ajax POST 将 json 发送到 django 视图时

Edite:根据评论中的建议改进了代码,但仍然没有运气

更新:感谢 ThiefMaster 在听从您的建议后,我在视图函数中发现了一个错误,但现在修复它后,我进入了 django 调试

禁止 (403)

CSRF 验证失败。请求中止。帮助 失败原因:CSRF 令牌丢失或不正确。


我尝试使用 jquery ajax 将 json 数据发送到 django

这是我的js代码

在 chrome devtool 上一切正常,直到最后一个 $.ajax()

它抛出此错误加载资源失败:服务器响应状态为 403(OK)

如果有人能弄清楚我做错了什么,请继续

提前致谢

0 投票
1 回答
481 浏览

python - Django的评论框架和CSRF

我知道Django 的评论框架是为匿名公共评论而设计的,就像你通常在博客或文章下面看到的那样。换句话说,任何人都可以发表评论。

我使用评论框架只允许登录用户显示评论。我所做的是修改form.html并隐藏nameURLemail字段(保持安全字段不变)。所以几乎用户只看到一个comment字段。我想使用 Django 的评论,因为它已经具有一些不错的安全功能,例如时间戳检查、蜜罐字段和防双重发布功能。用户信息是从request.user RequestContextcomment.user.get_full_name中获取的,我通过as oppose to comment.nameor comment.user.emailvs获取有关评论的用户信息comment.email

我也开始阅读 Django 的 CSRF 保护。在大多数情况下,人们谈论 CSRF 如何防止黑客通过使用他们的 cookie 或其他东西从登录用户的银行账户中转移资金。

就我而言,CSRF 是否会阻止人们以其他用户的身份发帖?换句话说,黑客可以创建自己的 POST 表单并以不同的方式发布user.pk以伪造其他人吗?

0 投票
4 回答
40148 浏览

django - Django - CSRF 令牌丢失或不正确

我刚刚将我的 django 更新到 1.4。但是当我尝试提交登录表单时出现以下错误:

禁止 (403) CSRF 验证失败。请求中止。失败原因:CSRF 令牌丢失或不正确。

在我的 settings.py (MIDDLEWARE_CLASSES) 中,我不得不删除以下行,因为它现在已被弃用:

然后我开始得到这个错误。

一些必要的信息:Urls.py

登录.html

有谁知道如何解决这个问题?

0 投票
1 回答
1332 浏览

python - Django 在表单和 csrf 令牌方面遇到麻烦

我试图让一个非常简单的电子邮件表单工作。表格只有一个字段(电子邮件)。

表格.py

视图.py

launch.html(相关部分)

settings.py 中的中间件


当前结果:页面显示好像没有涉及模板。我看到了表单和提交按钮,但没有电子邮件字段。也没有csrf隐藏字段。我一定是错过了一些愚蠢的东西......

0 投票
2 回答
2057 浏览

python - 没有 csrf_token 的 Django 1.4

我刚刚将 Django 从 1.2.3 升级到 1.4,并意识到 django.middleware.csrf.CsrfResponseMiddleware 已被贬低。有没有其他方法我不必在每篇文章中都使用 csrf_token ?前端设计师不必担心 django 特定的令牌会更容易。

0 投票
4 回答
3521 浏览

django - CSRF 保护的真正用途是什么?

我很久以前就听说过CSRF ,我听到的最多的是:

防止 CSRF 攻击很重要,这样某人就不会自动提交您的表单(使用机器人或其他东西)

嗯,这不是 100% 正确的,是吗?

我已经做了大约 3 年的网络抓取,发出请求、解析csrftokenmiddleware字段并将其与其他字段一起发布非常简单。

那么,它的真正用途是什么?