модуль ActionController::RequestForgeryProtection::ClassMethods
Общедоступные методы экземпляра
Включить защиту от подделки запросов. Имейте в виду, что проверяются только запросы, отличные от GET, HTML/JavaScript.
class ApplicationController < ActionController::Base protect_from_forgery end class FooController < ApplicationController protect_from_forgery except: :index
Вы можете отключить защиту CSRF в контроллере, пропустив проверку в методе before_action:
skip_before_action :verify_authenticity_token
Допустимые параметры:
-
:only/:except- Передается в вызовbefore_action. Устанавливает, какие действия проверяются. -
:with- Устанавливает метод обработки не проверенных запросов.
Допустимые методы обработки не проверенных запросов:
-
:exception- Выбрасывает исключение ActionController::InvalidAuthenticityToken. -
:reset_session- Сбрасывает сеанс. -
:null_session- Предоставляет пустой сеанс во время запроса, но не сбрасывает его полностью. Используется по умолчанию, если не указан параметр:with.
# File actionpack/lib/action_controller/metal/request_forgery_protection.rb, line 97
def protect_from_forgery(options = {})
self.forgery_protection_strategy = protection_method_class(options[:with] || :null_session)
self.request_forgery_protection_token ||= :authenticity_token
prepend_before_action :verify_authenticity_token, options
append_after_action :verify_same_origin_request
end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.