Fix invalid referrers parsing

This commit is contained in:
shortcutme 2017-04-07 18:13:09 +02:00
parent 309308dac0
commit de14c55311
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -31,11 +31,21 @@ class UiRequestPlugin(object):
if self.isProxyRequest(): # Match to site domain if self.isProxyRequest(): # Match to site domain
referer = re.sub("^http://zero[/]+", "http://", referer) # Allow /zero access referer = re.sub("^http://zero[/]+", "http://", referer) # Allow /zero access
referer_site_address = re.match("http[s]{0,1}://(.*?)(/|$)", referer).group(1) match = re.match("http[s]{0,1}://(.*?)(/|$)", referer)
if match:
referer_site_address = match.group(1)
else:
referer_site_address = None
else: # Match to request path else: # Match to request path
referer_site_address = re.match("/(?P<address>[A-Za-z0-9\.-]+)(?P<inner_path>/.*|$)", referer_path).group("address") match = re.match("/(?P<address>[A-Za-z0-9\.-]+)(?P<inner_path>/.*|$)", referer_path)
if match:
referer_site_address = match.group("address")
else:
referer_site_address = None
if referer_site_address == site_address: # Referer site address as simple address if not referer_site_address:
return False
elif referer_site_address == site_address: # Referer site address as simple address
return True return True
elif self.site_manager.resolveDomain(referer_site_address) == site_address: # Referer site address as dns elif self.site_manager.resolveDomain(referer_site_address) == site_address: # Referer site address as dns
return True return True