Spec-Zone.ru › Ruby on Rails 4.2

модуль ActionController::RequestForgeryProtection::ClassMethods

Публичные методы экземпляра

protect_from_forgery(options = {}) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API