Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #https://github.com/noraj/flask-session-cookie-manager/blob/master/flask_session_cookie_manager3.py
- #python3 -m pip install flask
- #python3 -m pip install itsdangerous
- import zlib
- from itsdangerous import base64_decode
- import ast
- from flask.sessions import SecureCookieSessionInterface
- class MockApp(object):
- def __init__(self, secret_key):
- self.secret_key = secret_key
- def encode(secret_key, session_cookie_structure):
- try:
- app = MockApp(secret_key)
- session_cookie_structure = dict(ast.literal_eval(session_cookie_structure))
- si = SecureCookieSessionInterface()
- s = si.get_signing_serializer(app)
- return s.dumps(session_cookie_structure)
- except Exception as e:
- return "[Encoding error] {}".format(e)
- raise e
- def decode(session_cookie_value, secret_key=None):
- try:
- if(secret_key==None):
- compressed = False
- payload = session_cookie_value
- if payload.startswith('.'):
- compressed = True
- payload = payload[1:]
- data = payload.split(".")[0]
- data = base64_decode(data)
- if compressed:
- data = zlib.decompress(data)
- return data
- else:
- app = MockApp(secret_key)
- si = SecureCookieSessionInterface()
- s = si.get_signing_serializer(app)
- return s.loads(session_cookie_value)
- except Exception as e:
- return "[Decoding error] {}".format(e)
- raise e
- SECRET_KEY = 'Sup3rUnpredictableK3yPleas3Leav3mdanfe12332942'
- print(decode("eyJBZG1pbiI6ImFkbWluIiwidGVzdCI6W119.YL5ioA.dSRlyDjrksMaHk-aM7xuO1KjGXg",SECRET_KEY))
Add Comment
Please, Sign In to add comment