Shell Script 문법 정리
Title: Bash Shell Script 문법 정리 Author: DongDongE Tags: Programming Release: 2021.02.08 [Shell
Flask에서 세션을 사용하기 위해 "Secret Key"(비밀 키)로 서명된 쿠키를 사용하여, 구현됩니다.
session["변수명"] = "값" 같은 형태로 세션을 변수에 저장할 수 있으며,
session.pop("변수명", None) 또는 session.clear() 를 통해 세션 변수를 삭제할 수 있습니다.
from flask import Flask,session,escape
app.secret_key = "ABCDEFG"
@app.route("/")
def index():
if "username" in session:
return "Logged in as %s " % escape(session["username"])
else:
return "You are not logged in"
@app.route("/session")
def login():
session["username"] = "DongDongE"
return "Good~!"
@app.route("/out")
def session_out():
session.pop("username", None)
# session.clear()
return "Session out"
서버에 접속시 맨처음 "index()" 함수가 실행되어, 조건문을 비교하여 세션에 "username" 변수가 있는지 체크합니다.
존재하지 않으면, [Session Check] 사진처럼 출력됩니다.
또한 세션이 존재하면 "Logged in as DongDongE"가 출력됩니다. 세션의 값을 출력시 escape() 함수를 사용하여 안전하게 HTM-safe Sequences로 변환합니다.
예를 들어 XSS에 악용되는 "<" 또는 ">" 문자열을 ">" 이런식으로 변환합니다.
"/session" 으로 접근하면 session의 "username" 변수에 "DongDongE"가 생성되고, 사용자에게 session Token를 반환합니다.
또한 "/out"에 접속하면 현재 가지고 있는 "username" 세션의 값을 제거 하거나 모든 세션을 제거합니다.