Skip to content

Commit

Permalink
Merge pull request #68 from golnazads/master
Browse files Browse the repository at this point in the history
fixed a bug in redirect url verify
  • Loading branch information
golnazads authored May 25, 2021
2 parents af94cc0 + dca7dec commit d4ea99c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
9 changes: 9 additions & 0 deletions resolverway/tests/unittests/test_resolver_gateway.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,5 +183,14 @@ def test_adsws_call(self):
self.assertEqual(account['hashed_user_id'], "ec43c30b9a81ed89765a2b8a04cac38925058eeacd5b5264389b1d4a7df2b28c")


def test_verify_url(self):
"""
:return:
"""
header = {'Referer': 'https://dev.adsabs.harvard.edu/abs/1987gady.book.....B/abstract'}
r = self.client.get('/link_gateway/1987gady.book.....B/ABSTRACT/https://dev.adsabs.harvard.edu/abs/1987gady.book.....B/ABSTRACT', headers=header)
self.assertEqual(r.status_code, 302)

if __name__ == '__main__':
unittest.main()
17 changes: 7 additions & 10 deletions resolverway/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,19 +192,16 @@ def verify_url(self, referrer):
# if full url in-house link detected
if url.netloc.split('.',1)[-1] == referred_ads:
return True
# outside link, see if originated from ads
referrer_url = urllib.parse.urlparse(referrer)
if all([referrer_url.scheme, referrer_url.netloc]):
if referrer_url.netloc.split('.', 1)[-1] == referred_ads:
return True
# TODO: check back with resolver servcie, make sure the redirect link is from there
except:
try:
# if a valid outside link, see if originated from ads
referrer_url = urllib.parse.urlparse(referrer)
if all([referrer_url.scheme, referrer_url.netloc]):
if referrer_url.netloc.split('.',1)[-1] == referred_ads:
return True
except:
# TODO: check back with resolver servcie, make sure it is from there
pass
pass

# for now do not redirect if outside link and did not originate from BBB
# do not redirect if outside link and did not originate from BBB
return False

def process_request(self):
Expand Down

0 comments on commit d4ea99c

Please sign in to comment.