def test_is_same_primary_domain(self): domain1 = 'localhost' domain2 = 'localhost' self.assertTrue(is_same_primary_domain(domain1, domain2)) domain1 = 'localhost' domain2 = 'test' self.assertFalse(is_same_primary_domain(domain1, domain2)) domain1 = 'com' domain2 = 'example.com' self.assertFalse(is_same_primary_domain(domain1, domain2)) domain1 = 'example.com' domain2 = 'example.com' self.assertTrue(is_same_primary_domain(domain1, domain2)) domain1 = 'www.example.com' domain2 = 'example.com' self.assertTrue(is_same_primary_domain(domain1, domain2)) domain1 = 'wwwexample.com' domain2 = 'example.com' self.assertFalse(is_same_primary_domain(domain1, domain2)) domain1 = 'www.example.com' domain2 = 'www2.example.com' self.assertTrue(is_same_primary_domain(domain1, domain2)) domain1 = 'xxx.www.example.com' domain2 = 'xxx.www2.example.com' self.assertTrue(is_same_primary_domain(domain1, domain2))
def check_origin(self, origin): cows = options.cows parsed_origin = urlparse(origin) origin = parsed_origin.netloc origin = origin.lower() logging.debug('origin: {}'.format(origin)) host = self.request.headers.get('Host') logging.debug('host: {}'.format(host)) if cows == 0: return origin == host elif cows == 1: return is_same_primary_domain(origin.rsplit(':', 1)[0], host.rsplit(':', 1)[0]) else: return True
def check_origin(self, origin): if self.origin_policy == '*': return True parsed_origin = urlparse(origin) netloc = parsed_origin.netloc.lower() logging.debug('netloc: {}'.format(netloc)) host = self.request.headers.get('Host') logging.debug('host: {}'.format(host)) if netloc == host: return True if self.origin_policy == 'same': return False elif self.origin_policy == 'primary': return is_same_primary_domain(netloc.rsplit(':', 1)[0], host.rsplit(':', 1)[0]) else: return origin in self.origin_policy