Rails`protect_from_forgery`被注释掉:安全问题?

时间:2018-06-20 19:55:35

标签: ruby-on-rails ruby-on-rails-4 csrf-protection

我正在研究应用程序,我刚刚发现ApplicationController中有一条注释掉的行看起来很重要。

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  # protect_from_forgery with: :null_session
  ⋮

之所以到达这一点,是因为我正在跟踪一个堆栈跟踪记录(对于生产错误,我不知道如何重现),该跟踪记录显示了ActionPack中的一个错误:

NoMethodError (undefined method `new' for nil:NilClass)

错误来自此方法定义中的语句:

  def handle_unverified_request
    forgery_protection_strategy.new(self).handle_unverified_request
  end

所以,我的问题分为两个部分:

1:csrf行被注释掉是否安全?

2:该行是否被注释掉是发生此错误的可能原因?

版本:
Ruby(2.2.4p230)
Rails(4.0.13)
ActionPack(4.0.13)

0 个答案:

没有答案