Spec-Zone.ru › Ruby on Rails 7.2

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

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

content_security_policy(enabled = true, **options, &block) Показать исходный код
# File actionpack/lib/action_controller/metal/content_security_policy.rb, line 40
def content_security_policy(enabled = true, **options, &block)
  before_action(options) do
    if block_given?
      policy = current_content_security_policy
      instance_exec(policy, &block)
      request.content_security_policy = policy
    end

    unless enabled
      request.content_security_policy = nil
    end
  end
end

Переопределяет части глобально настроенного CSP заголовка:

class PostsController < ApplicationController
  content_security_policy do |policy|
    policy.base_uri "https://www.example.com"
  end
end

Параметры можно передать аналогично настройкам. Например, передайте options = { action: 'index' } для переопределения заголовка только на действии «index»:

class PostsController < ApplicationController
  content_security_policy(only: :index) do |policy|
    policy.default_src :self, :https
  end
end

Передайте options = { policy: nil } для удаления заголовка CSP:

class PostsController < ApplicationController
  content_security_policy false, only: :index
end
content_security_policy_report_only(report_only = true, **options) Показать исходный код
# File actionpack/lib/action_controller/metal/content_security_policy.rb, line 66
def content_security_policy_report_only(report_only = true, **options)
  before_action(options) do
    request.content_security_policy_report_only = report_only
  end
end

Переопределяет глобально настроенный CSP report-only заголовок:

class PostsController < ApplicationController
  content_security_policy_report_only only: :index
end

Передайте options = { policy: nil } для удаления заголовка CSP report-only:

class PostsController < ApplicationController
  content_security_policy_report_only false, only: :index
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

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