摘要:前文編程實現函數的實現很簡單,在服務器返回的響應中,里增加,瀏覽器接受到中的,下次訪問這個網站的請求中就會帶上這個。此時服務端解析,根據就知道當前用戶是登陸狀態的。顯然,直接在里寫用戶的是不安全的。下一篇文章編程簡單實現和密碼
前文:【python socket編程】—— 4.實現redirect函數
cookie的實現很簡單,在服務器返回的響應中,header里增加Set-Cookie,瀏覽器接受到Set-Cookie中的value,下次訪問這個網站的請求中就會帶上這個cookie。編寫一個增加cookie的函數:
def add_cookie(cookie=""): header = "HTTP/1.1 200 OK Content-Type: text/html " header += "Set-Cookie: {} ".format(cookie) return header
假設用戶登錄驗證成功之后,我們用add_cookie將其用戶名username存入到cookie中返回給瀏覽器,例如承接前文,用戶登錄成功后給其返回一個302跳轉的響應,我們在其中再加入cookie,此時response如下:
HTTP/1.1 302 JUMP Content-Type: text/html Set-Cookie: Harp Location: /
那么瀏覽器下次請求,request的header里就會帶上Cookie: Harp這一行了。此時服務端解析request,根據cookie就知道當前用戶是登陸狀態的。
顯然,直接在cookie里寫用戶的username是不安全的。我們可以把username存在session里,假設session是一個字典,用戶登錄驗證成功后,隨機生成一個長的字符串session_id作為key,username作為value存入session中,然后把session_id作為cookie返回給瀏覽器,瀏覽器下次請求時候帶上的cookie內容為這個session_id,我們去session里取對應的value即可。
下一篇文章:【python socket編程】—— 6.簡單實現render_template和密碼hash
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41337.html
摘要:原理就是當瀏覽器接受到服務器響應的狀態碼是或者時,表示請求的頁面已經永久或臨時性轉移到了新的位置,而這個新的位置儲存在響應的里這個字段。 前文:【python socket編程】—— 3.響應 在Flask框架中有一個redirect函數,用于實現頁面的跳轉,現在我們來實現它。原理就是:當瀏覽器接受到服務器響應的狀態碼是301或者302時,表示請求的頁面已經永久或臨時性轉移到了新的位...
摘要:前文編程實現和在中有函數,用于解析模板,現在我們來簡單實現它。密碼的加密,可以使用這個庫,可以實現等多種方式,例如傳入的,會返回加密之后的字符串,值得一提的是的方法,和依次返回的結果是一樣。 前文:【python socket編程】—— 5.實現cookie和session 在Flask中有render_template函數,用于解析jinja2模板,現在我們來簡單實現它。代碼如下:...
摘要:在保存登錄狀態與注銷功能這篇文章中,我們使用了來保存,實際上默認的功能,是客戶端,與之相對的是服務器端。今天我們來實現服務器端,原理很簡單,實際上在編程實現和這篇文章中我們已經做過了。現在我們用數據庫來保存,并為其設置有效期。 在11.保存登錄狀態與注銷功能這篇文章中,我們使用了session來保存username,實際上Flask默認的session功能,是客戶端session(cl...
摘要:反序列化安全問題一這一段時間使用做開發,使用了存儲,閱讀了源碼,發現在存儲到過程中,利用了模塊進行序列化以及反序列化正好根據該樣例學習一波反序列化相關的安全問題,不足之處請各位表哥指出。 Python 反序列化安全問題(一) 這一段時間使用flask做web開發,使用了redis存儲session,閱讀了flask_session源碼,發現在存儲session到redis過程中,利用了...
摘要:從導入相應函數,即傳入一個上一步中的類,返回對應的網頁內容,具體實現將在后續講解。后續只要去處理解析請求和響應部分即可,主程序可以不用再修改。下一篇文章編程解析請求頭 Flask或者其他框架都是封裝的比較完善,我們可以不去關注路由、SESSION等到底是怎么實現的,現在我們使用socket來實現一個帶有注冊、登錄功能的To do網站,這樣能對后端框架了解的稍微更深入一點(當然你也可以直...
閱讀 2155·2021-11-12 10:36
閱讀 2147·2021-09-03 10:41
閱讀 2761·2021-08-19 10:57
閱讀 1230·2021-08-17 10:14
閱讀 1487·2019-08-30 15:53
閱讀 1210·2019-08-30 15:43
閱讀 975·2019-08-30 13:16
閱讀 2983·2019-08-29 16:56