Browse Source

Fix invalid referrers parsing

shortcutme 7 years ago
parent
commit
de14c55311
1 changed files with 13 additions and 3 deletions
  1. 13 3
      plugins/Zeroname/UiRequestPlugin.py

+ 13 - 3
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<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
         elif self.site_manager.resolveDomain(referer_site_address) == site_address:  # Referer site address as dns
             return True