Flaskでsessionを使用する
参考サイトを使用して,session管理について実装してみた
from flask import Flask, session, redirect, url_for, request app = Flask(__name__) @app.route('/') def index(): if 'username' in session: return 'Hello ' + str(session['username']) return 'You are not logged in' @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': session['username'] = request.form['username'] return redirect(url_for('index')) return ''' <form action="" method="post"> <p><input type=text name=username> <p><input type=submit value=Login> </form> ''' @app.route('/logout') def logout(): session.pop('username', None) return redirect(url_for('index')) app.secret_key = 'hogehogehoge' if __name__ == "__main__": app.run(debug=True)
cookieの実装はこれとはまた別らしい。 secret_keyは暗号化を行う際の補助情報らしい(saltに相当?)
- ユーザーごとに異なるSaltであること
- ある程度の長さを確保すること を守って実装したほうがいいようなのでhogehogehogeではまずそう。。。
参考サイト
PythonのFlaskで学ぶWebアプリケーション制作講座 第6章 〜セッション〜