Django 的 CSRF 中间件产生大量误报?
我从 Django 的 contrib CSRF 中间件收到大量误报。仅仅从网站的正常使用来看,在很多情况下,CSRF 就会开始阻止请求,将其视为可疑的伪造攻击。
还有其他人有这样的问题吗?我正在使用 Django 的 SVN 分支,因此拥有最新版本的 CSRF 中间件。我如何诊断这些问题?
更新:我在我的生产和开发网站上看到这些误报。它们偶尔发生。我的网站使用子域,并且该网站有一个不同的开发/生产版本,运行在不同的服务器上,但由子域分隔。什么会触发 CSRF 攻击警告?是在开发 cookie 被发送到生产站点时发生的吗?在同一登录用户的子域之间移动会导致问题吗?
I'm getting tons of false positives from Django's contrib CSRF middleware. Just from normal use of the site there will be a lot of cases where the CSRF just starts blocking requests as suspected forgery attacks.
Does anyone else have issues like this? I'm using the SVN branch of Django so have the latest version of the CSRF middleware. How could I diagnose these issues?
Update: I see these false positives on my production and dev sites. They happen sporadically. My site uses sub-domains and there is a different dev/production version of the site that runs on different servers but is seperated by a sub-domain. What triggers CSRF attack warnings? Is it when a dev cookie gets sent to the production site? Would moving between sub-domains for the same logged in user cause problems?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Django 中的 CSRF 保护基于隐藏字段加上正常工作的会话。如果您使用子域来区分这两个站点,请检查您的
settings.SESSION_COOKIE_DOMAIN
是否为 正确设置以处理您的情况。CSRF protection in Django is based on hidden field plus properly working session. If you use subdomains to differentiate these two sites, check if your
settings.SESSION_COOKIE_DOMAIN
is set properly to handle your case.