【发布时间】:2010-09-13 09:23:14
【问题描述】:
Rails 中内置的 CSRF 预防对我们正在进行的一些自动化负载测试造成了一些问题,我想在整个过程中将其关闭。我该怎么做?
【问题讨论】:
标签: ruby-on-rails security csrf
Rails 中内置的 CSRF 预防对我们正在进行的一些自动化负载测试造成了一些问题,我想在整个过程中将其关闭。我该怎么做?
【问题讨论】:
标签: ruby-on-rails security csrf
我喜欢有明确答案的简单问题。
#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)
在 Rails 3 中,删除 app/controllers/application_controller.rb 中的 protect_from_forgery 命令
【讨论】: