mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 13:21:01 +08:00
FEATURE: Add hidden site setting to list 'unsafe-none' COOP referrers (#27510)
Some tooling may rely on an unsafe-none cross origin opener policy to work. This change adds a hidden site setting that can be used to list referrers where we add this header instead of the default one configured in cross_origin_opener_policy_header.
This commit is contained in:
@ -1008,7 +1008,14 @@ class ApplicationController < ActionController::Base
|
||||
end
|
||||
|
||||
def set_cross_origin_opener_policy_header
|
||||
response.headers["Cross-Origin-Opener-Policy"] = SiteSetting.cross_origin_opener_policy_header
|
||||
response.headers["Cross-Origin-Opener-Policy"] = if SiteSetting
|
||||
.cross_origin_opener_unsafe_none_referrers
|
||||
.split("|")
|
||||
.include?(request.referrer&.split("://")&.last)
|
||||
"unsafe-none"
|
||||
else
|
||||
SiteSetting.cross_origin_opener_policy_header
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
Reference in New Issue
Block a user