Spec-Zone.ru › Ruby on Rails 4.1

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

Общедоступные методы экземпляра

protect_from_forgery(options = {}) Показать исходный код

Включить защиту от подделки запросов. Имейте в виду, что проверяются только запросы, отличные от 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.

Spec-Zone.ru

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