модуль ActionController::RequestForgeryProtection::ClassMethods
Публичные методы экземпляра
# File actionpack/lib/action_controller/metal/request_forgery_protection.rb, line 102
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 Включить защиту от подделки запроса. Имейте в виду, что запросы GET и HEAD не проверяются.
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не указан.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.