我显然可以改变Content-Security-Policy
in views/application.rb
。我还可以添加不同Content-Security-Policy
的开发模式。
我如何Content-Security-Policy
为特定的动作/动作使用不同的?
我显然可以改变Content-Security-Policy
in views/application.rb
。我还可以添加不同Content-Security-Policy
的开发模式。
我如何Content-Security-Policy
为特定的动作/动作使用不同的?
Content-Security-Policy
是一个 HTTP 标头,因此它与操作相关,而不是视图。
您可以像这样设置全局值apps/web/application.rb
:
security.content_security_policy '...'
您可以在以下环境中为每个环境设置一个全局值apps/web/application.rb
:
configure :development do
security.content_security_policy '...'
end
您可以为给定的操作设置不同的值:
module Web::Controllers::Home
include Web::Action
def call(params)
headers.merge!('Content-Security-Policy' => '...')
end
end
如果您有许多需要相同异常的操作,您可以执行以下操作:
# apps/web/controllers/csp_rule.rb
module Web::Controllers::CSPRule
def self.included(action)
action.class_eval do
before :set_content_security_policy
end
end
private
def set_content_security_policy
headers.merge!('Content-Security-Policy' => '...')
end
end
您可以在需要的地方包含它。