Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # www.fduran.com
- # script to test/monitor if a Django site using authentication is up
- # install pip if not already in system
- apt-get install python-setuptools python-dev build-essential
- easy_install -U pip
- # install requests
- pip install requests
- # script
- import requests
- # constants
- url = 'https://example.com/login/'
- username = 'valid user'
- password = 'valid password'
- expected = 'string in landing authenticated page' # easier if not in login page
- message = ''
- g = requests.get(url)
- if g.status_code != 200:
- # alert page down
- message = "ALERT: Page down"
- else:
- sessionid = g.cookies['sessionid']
- csrftoken = g.cookies['csrftoken']
- cookies = {'sessionid':sessionid, 'csrftoken':csrftoken}
- payload = {'username':username, 'password':password, 'csrfmiddlewaretoken':csrftoken, 'next':''}
- headers = {'Referer': url}
- p = requests.post(url, cookies=cookies, data=payload, headers=headers)
- if p.status_code == 200:
- if p.text.find('Please try again') != -1:
- message = "ALERT: Wrong username or password"
- elif p.text.find(expected) != -1:
- # all good
- #message = "Good, expected content found"
- pass
- else:
- # alert
- message = "ALERT: expected content not found"
- else:
- # alert
- message = "ALERT: cannot authenticate"
- # alert
- if (message):
- # send email, SMS etc
- print message
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement