浏览代码

Change Content-Security-Policy to be tighter on media paths (#26889)

Claire 11 月之前
父节点
当前提交
d4e0a12b27
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      config/initializers/content_security_policy.rb

+ 5 - 1
config/initializers/content_security_policy.rb

@@ -3,7 +3,11 @@
 # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
 
 def host_to_url(str)
-  "http#{Rails.configuration.x.use_https ? 's' : ''}://#{str.split('/').first}" if str.present?
+  return if str.blank?
+
+  uri = Addressable::URI.parse("http#{Rails.configuration.x.use_https ? 's' : ''}://#{str}")
+  uri.path += '/' unless uri.path.blank? || uri.path.end_with?('/')
+  uri.to_s
 end
 
 base_host = Rails.configuration.x.web_domain