2016-01-13 50 views
0

我想構建一個Web應用程序,並瞭解過程中的技術。我爲我的框架選擇了Python Bottle。爲了實現網站上的用戶,我需要管理會話。是否有一種「簡單」或「簡單」的方式來實現Python中的會話?我不在乎做這100%的權利。我只想了解發生了什麼。在python中簡單實現會話?

Bottle documentation建議我使用另一個庫,但我不喜歡那個,因爲它增加了更多的黑盒子(閱讀源代碼是最終的目標......)。

我已經谷歌搜索「實施會議蟒蛇」。我剛剛找到this

+0

不是。你可以嘗試自己實現sessionmiddleware api。或者你可以使用燒杯。 – pvg

+0

他問如何實現它...所有的會話都是用戶數據,它比標準的cookie提供更多的安全性...... –

回答

0

蟒蛇竟真的無關,它只是看看「實現會話數據」 ......這裏是落實會議的一種方式......

from pyDES import * # or some other crypto library 
my_app_secret = "hello crypto" 


def save_session(data): 
    response.set_cookie("session", triple_des(my_app_secret).encrypt(json.dumps(data), padmode=2)) 

def load_session(): 
    try: 
     return json.loads(triple_des(my_app_secret).decrypt(response.get_cookie("session")) 
     except: 
     return {} 


session_data = load_session() 
print session_data 
session_data["some_info"] = "Yellow Submarine" 
save_session(session_data) 

或者你可以保存到數據庫和剛在cookie中保存一個哈希標識符......或者其他各種方法......(你甚至不需要對它進行加密......你可以像添加一個校驗和字節到數據串的末尾那樣簡單)

+0

在代碼中編寫加密密鑰是否很常見(安全嗎? – isthisreallife

+0

你可以將它保留在任何你想要的地方(環境變量...不同的配置文件...命令行參數...)我認爲在大多數情況下人們只是包括它...(只是不要發佈在github上,如果你這樣做) –

+0

假設我想從我的會話中唯一需要跟蹤登錄的用戶。是我保存到我的會話cookie任意的消息?應該保存什麼?非常感謝 – isthisreallife