当前位置: 首页 > 面试题库 >

无法禁用Django CSRF框架,这破坏了我的网站

云和惬
2023-03-14
问题内容

django csrf中间件无法禁用。我已经从我的项目的中间件中将其注释掉,但是由于缺少CSRF问题,导致登录失败。我正在使用Django主干。如果未在中间件中启用CSRF,如何引起问题?

我必须禁用它,因为CSRF刚刚中断了我站点上的许多POST请求。关于如何在django主干项目中完全禁用CSRF的任何反馈?

Django主干中的“新” CSRF框架也破坏了一个外部站点,该站点正在进入并在我为其提供的URL上执行POST(这是一个静态API的一部分。)我不能禁用CSRF框架,因为我之前说过,该如何解决?


问题答案:

请参阅下面的答案以获得更好的解决方案。自从我写这篇文章以来,发生了很多变化。现在有禁用CSRF的更好方法

我感到你很痛苦。框架更改这种基本功能是不可接受的。即使我想从现在开始使用它,我在同一台计算机上的旧站点也共享django的副本。此类更改应要求对主要版本号进行修订。1.x->2.x。

无论如何,要修复它,我只是将其注释掉,并已停止频繁更新Django。

文件:django / middleware / csrf.py在第160行附近:

            # check incoming token
#            request_csrf_token = request.POST.get('csrfmiddlewaretoken', None)
#            if request_csrf_token != csrf_token:
#                if cookie_is_new:
#                    # probably a problem setting the CSRF cookie
#                    return reject("CSRF cookie not set.")
#                else:
#                    return reject("CSRF token missing or incorrect.")


 类似资料:
  • 已安装虚拟盒,模拟器已停止工作。在做了一些研究之后,我的猜测是它以某种方式破坏了我的Hyper-V。它说: 无法启动模拟器模拟器无法启动,因为虚拟机监控程序没有运行。可能的原因是启用了硬件辅助虚拟化。检查计算机的BIOS,确保启用了硬件辅助虚拟化和硬件辅助数据执行保护功能。 我做到了。一切都按照它们应该的样子设置好了。我按照这个指南卸载了Virtualbox,包括它的驱动程序:https://do

  • 这是我的pom.xml文件的节选: 这是Tomcat版本: 编译之后(用Maven),一切看起来都很好,没有构建错误,构建了war文件,一切都很好,就像以前的任何其他构建一样。只有现在,我尝试命中的任何endpoint都返回404,如果我移除'spring-boot-starter-jdbc'依赖项,则全部返回正常。 没有依赖项得日志: 具有依赖项得日志: 我看到日志中提到了“数据源”,这是我在a

  • 我今天早上将Android Studio2.0预览版从4更新到5。如果我继续使用: 这仍将成功编译。但如果我移动到-alpha5,就会出现以下错误: 错误:任务执行失败:应用程序:compileReleaseJavaWithJavac。Java . io . file not found异常:....\ intermediates \ explosed-AAR \ com . Google . A

  • 我正在构建一个ANTLR4语法来解析数据源中的字符串--类似于StringTemplate(如果不是非常相似的话),只是我不喜欢这种语法,所以我正在编写自己的语法(也只是为了好玩和学习,因为这是我第一次使用/ANTLR)。我的语法现在看起来像这样(这是从我的实际情况中简化出来的,但我已经验证了它是一个“好例子”,并且展示了我所问的相同的问题): 这个语法工作得很好,允许我执行替换,例如: 结果是:

  • 在实际应用中,destroy方法的可能示例是什么?为什么一个正在运行的应用程序想要销毁它的bean?如果bean是由spring容器(比如ContextLoaderListener)为web应用程序创建的,那么如何重新创建这些bean,因为容器已经启动了。有没有办法在不重启应用服务器的情况下重启spring IoC容器?

  • 我刚刚升级了我的android studio,它破坏了我的颤振构建过程。我现在在尝试构建以前工作过的项目时遇到了这个错误。我的andriod studio设置在最后。非常感谢您的帮助。 失败:构建失败,有一个异常。 出错原因: 任务执行失败:应用程序:processDebugMainManifest 无法使字段私有化。字符串java。木卫一。文件路径可访问:模块java。base不会将java.i