mirror of
https://github.com/discourse/discourse.git
synced 2024-12-05 10:53:44 +08:00
2d7e2b3810
In an earlier PR, we decided that we only want to block a domain if the blocked domain in the SiteSetting is the final destination (/t/59305). That PR used `FinalDestination#get`. `resolve` however is used several places but blocks domains along the redirect chain when certain options are provided. This commit changes the default options for `resolve` to not do that. Existing users of `FinalDestination#resolve` are - `Oneboxer#external_onebox` - our onebox helper `fetch_html_doc`, which is used in amazon, standard embed and youtube - these folks already go through `Oneboxer#external_onebox` which already blocks correctly
12 lines
266 B
Ruby
12 lines
266 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Onebox
|
|
class DomainChecker
|
|
def self.is_blocked?(hostname)
|
|
SiteSetting.blocked_onebox_domains&.split('|').any? do |blocked|
|
|
hostname == blocked || hostname.end_with?(".#{blocked}")
|
|
end
|
|
end
|
|
end
|
|
end
|