From de14c55311ca561fdbcbe4e97b38f036bbd8f9bc Mon Sep 17 00:00:00 2001 From: shortcutme Date: Fri, 7 Apr 2017 18:13:09 +0200 Subject: [PATCH] Fix invalid referrers parsing --- plugins/Zeroname/UiRequestPlugin.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/plugins/Zeroname/UiRequestPlugin.py b/plugins/Zeroname/UiRequestPlugin.py index 66b8f50a..ea9bfcbe 100644 --- a/plugins/Zeroname/UiRequestPlugin.py +++ b/plugins/Zeroname/UiRequestPlugin.py @@ -31,11 +31,21 @@ class UiRequestPlugin(object): if self.isProxyRequest(): # Match to site domain 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 - referer_site_address = re.match("/(?P
[A-Za-z0-9\.-]+)(?P/.*|$)", referer_path).group("address") + match = re.match("/(?P
[A-Za-z0-9\.-]+)(?P/.*|$)", 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 elif self.site_manager.resolveDomain(referer_site_address) == site_address: # Referer site address as dns return True