【问题标题】:How do I turn off CSRF protection in a rails app?如何在 Rails 应用程序中关闭 CSRF 保护?
【发布时间】:2010-09-13 09:23:14
【问题描述】:

Rails 中内置的 CSRF 预防对我们正在进行的一些自动化负载测试造成了一些问题,我想在整个过程中将其关闭。我该怎么做?

【问题讨论】:

    标签: ruby-on-rails security csrf


    【解决方案1】:

    我喜欢有明确答案的简单问题。

    #I go in application.rb
    self.allow_forgery_protection = false
    

    如果您只想为测试执行此操作,您可以将其移至环境文件之一(显然,您将触摸Application 而不是self)。你也可以这样写:

    #I still go in application.rb
    self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
    

    详情请参阅here。 (延续 Rails 的优良传统,即在 2 年前的博文中记录核心功能,这些博文是从提交日志中提炼出来的。)

    【讨论】:

    • 或简称self.allow_forgery_protection = ENV["RAILS_ENV"] == "production"
    • 得到以下错误 - /home/vipin8169/.rvm/gems/ruby-2.2.1/gems/railties-4.2.0/lib/rails/railtie.rb:196:in method_missing': undefined method allow_forgery_protection=' for FertilityApp::Application:Class (NoMethodError)
    【解决方案2】:

    在 Rails 3 中,删除 app/controllers/application_controller.rb 中的 protect_from_forgery 命令

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 2011-06-27
      • 2018-10-11
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 2015-12-21
      • 2016-11-03
      相关资源
      最近更新 更多