#!/usr/bin/python #coding=utf-8 from flask import Flask,session,redirect,url_for,request app=Flask(__name__) app.secret_key='\xf1\x92Y\xdf\x8ejY\x04\x96\xb4V\x88\xfb\xfc\xb5\x18F\xa3\xee\xb9\xb9t\x01\xf0\x96' #配置secret_key,否則不能實現session對話 # or # app.config['SECRET_KEY'] = '\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\' # or # app.config.update(SECRET_KEY='\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\') @app.route("/") def index(): if session.get('username')=='shiyanlou' and session.get('password')=='shiyanlou': return "hello shiyanlou" return "you are not logged in" @app.route("/login",methods=["POST","GET"]) def login(): if request.method=='POST': session['username']=request.form['username'] session['password']=request.form['password'] print '>>>>>>>>>>>>>>>>>>>>>' print session return redirect(url_for('index')) return """ <form action="" method="post"> <p><input type=text name=username> <p><input type=text name=password> <p><input type=submit value=Login> </form> """ @app.route("/logout") def logout(): session.pop('username',None) session.pop('password',None) return redirect(url_for('index')) if __name__=="__main__": app.run(host='0.0.0.0',debug=True,port = 8017)
以上代碼來源:https://www.douban.com/note/511577488/
Flask生成SECRET_KEY(密鑰)的一種簡單方法:
原文:http://flask123.sinaapp.com/article/41/
SECRET_KEY是Flask中比較重要的一個配置值。本文介紹一種比較簡單的生成SECRET_KEY的方法。
Session, Cookies以及一些第三方擴展都會用到SECRET_KEY值,這是一個比較重要的配置值,應該盡可能設置為一個很難猜到的值,隨機值更佳。
隨機的問題在於很難判斷什么是真隨機。一個密鑰應該足夠隨機。你的操作系統可以基於一個密碼隨機生成器來生成漂亮的隨機值,這個值可以用來做密鑰:
>>> import os >>> os.urandom(24) '\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\'
把這個值復制粘貼到你的代碼,你就搞定了密鑰。
設置方法:
app = Flask(__name__) app.config['SECRET_KEY'] = '\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\' # or app.secret_key = '\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\' # or app.config.update(SECRET_KEY='\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\')