
🍪 Flask 세션 쿠키 디코더/인코더
원저자 : Wilson Sumanang
수정 및 개선 저자 : Alexandre ZANNI
출처 : saruberoz.github.io
pacman -S flask-session-cookie-manager{3,2}
Python 3 및 Python 2 모두:
git clone https://github.com/noraj/flask-session-cookie-manager.git && cd flask-session-cookie-manager
makepkg -sic
자신의 패키지 관리자를 이용하거나, 가상 환경에서 pip를 사용하거나, pyenv를 사용하세요.
예:
git clone https://github.com/noraj/flask-session-cookie-manager.git && cd flask-session-cookie-manager
python -m venv venv
source venv/bin/activate
python -m pip install .
Python 3에서는 flask_session_cookie_manager3.py를, Python 2에서는 flask_session_cookie_manager2.py를 사용하세요.
usage: flask_session_cookie_manager{2,3}.py [-h] {encode,decode} ...
Flask Session Cookie Decoder/Encoder
positional arguments:
{encode,decode} sub-command help
encode encode
decode decode
optional arguments:
-h, --help show this help message and exit
usage: flask_session_cookie_manager{2,3}.py encode [-h] -s <string> -t <string>
optional arguments:
-h, --help show this help message and exit
-s <string>, --secret-key <string>
Secret key
-t <string>, --cookie-structure <string>
Session cookie structure
usage: flask_session_cookie_manager{2,3}.py decode [-h] [-s <string>] -c <string>
optional arguments:
-h, --help show this help message and exit
-s <string>, --secret-key <string>
Secret key
-c <string>, --cookie-value <string>
Session cookie value
$ python{2,3} flask_session_cookie_manager{2,3}.py encode -s '.{y]tR&sp&77RdO~u3@XAh#TalD@Oh~yOF_51H(QV};K|ghT^d' -t '{"number":"326410031505","username":"admin"}'
eyJudW1iZXIiOnsiIGIiOiJNekkyTkRFd01ETXhOVEExIn0sInVzZXJuYW1lIjp7IiBiIjoiWVdSdGFXND0ifX0.DE2iRA.ig5KSlnmsDH4uhDpmsFRPupB5Vw
참고: 세션 쿠키 구조는 유효한 Python 딕셔너리여야 합니다.
비밀 키 사용:
$ python{2,3} flask_session_cookie_manager{2,3}.py decode -c 'eyJudW1iZXIiOnsiIGIiOiJNekkyTkRFd01ETXhOVEExIn0sInVzZXJuYW1lIjp7IiBiIjoiWVdSdGFXND0ifX0.DE2iRA.ig5KSlnmsDH4uhDpmsFRPupB5Vw' -s '.{y]tR&sp&77RdO~u3@XAh#TalD@Oh~yOF_51H(QV};K|ghT^d'
{u'username': 'admin', u'number': '326410031505'}
비밀 키 없이 (출력이 덜 예쁩니다):
$ python{2,3} flask_session_cookie_manager{2,3}.py decode -c 'eyJudW1iZXIiOnsiIGIiOiJNekkyTkRFd01ETXhOVEExIn0sInVzZXJuYW1lIjp7IiBiIjoiWVdSdGFXND0ifX0.DE2iRA.ig5KSlnmsDH4uhDpmsFRPupB5Vw'
{"number":{" b":"MzI2NDEwMDMxNTA1"},"username":{" b":"YWRtaW4="}}