因此,通常在我使用的大型網站中,您希望將一些會話信息保存到數據庫,以便Cookie不會輕易重複。令牌記得我保存在數據庫中的flask-login?
使用flask-login有一種方法可以使用token_loader來實現查詢Session表的功能,例如將token映射到id。
但這意味着會話表將與用戶表的大小相同。
id = db.Column(db.Integer, primary_key=True)
token = db.Column(db.String(250), unique=True)
uid = db.Column(db.Integer, unique=True)
@login_manager.token_loader
def token_load(token):
return User.sessions.first().token
我已經看到有8 MB充滿用戶表信息的網站。例如,Drupal中的會話錶行被塞滿了網站。以這種方式存儲令牌是否明智?每個用戶告訴我們他們的令牌價值只是一排?
基本上它就像一個密碼錶,確定誰擁有餅乾用戶,而不是實際登錄。
任何人看到瓶中登錄這個隨時隨地的實現?
我不確定我是否理解這個問題,但是如果是關於爲用戶保存令牌信息的話,那麼......您可以將令牌保存到同一個用戶表中,您已經有了ID它。這將只是一個額外的領域。或者可以是用戶配置文件表,或者...是的,帶有映射的單獨表(如果由於某種安全性,您想將用戶表與這些數據分開,那麼您就沒有其他選擇了) 。如果我誤解了這個問題 - 對不起:) –
是的,我只是要求最好的方法來做到這一點。我的意思是,我甚至不確定這是否是100%的安全性,如果我們正在做的是向cookie添加散列並檢查散列是否與用戶匹配。從本質上講,一旦黑客得到你的哈希,他可以登錄爲你(這是很多的安全嗎?) – Dexter