日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python socket编程:实现redirect函数、cookie和session

發(fā)布時間:2024/9/30 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python socket编程:实现redirect函数、cookie和session 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在Flask框架中有一個redirect函數(shù),用于實現(xiàn)頁面的跳轉,現(xiàn)在我們來實現(xiàn)它。原理就是:當瀏覽器接受到服務器響應的狀態(tài)碼是301或者302時,表示請求的頁面已經(jīng)永久或臨時性轉移到了新的位置,而這個新的位置儲存在響應的header里Locaiton這個字段。例如一個實現(xiàn)跳轉的響應如下:

  • HTTP/1.1 302 OK
  • Content-Type: textml
  • Location: /login

這是一個很簡單的http響應,狀態(tài)碼302表示原先請求的網(wǎng)頁臨時性轉移到了/login(‘OK’這個沒有影響,可以改成任意東西,如’JUMP’),很明顯這就是用戶請求的頁面是需要登錄才能查看的。因此redirect函數(shù)可以這樣寫:

學習python中有什么不懂的地方,小編這里推薦加小編的python學習群:895,817, 687
有任何不懂的都可以在里面交流,還有很好的視頻教程pdf學習資料,大家一起學習交流!

實現(xiàn)cookie和session

cookie的實現(xiàn)很簡單,在服務器返回的響應中,header里增加Set-Cookie,瀏覽器接受到Set-Cookie中的value,下次訪問這個網(wǎng)站的請求中就會帶上這個cookie。編寫一個增加cookie的函數(shù):

假設用戶登錄驗證成功之后,我們用add_cookie將其用戶名username存入到cookie中返回給瀏覽器,例如承接前文,用戶登錄成功后給其返回一個302跳轉的響應,我們在其中再加入cookie,此時response如下:
那么瀏覽器下次請求,request的header里就會帶上Cookie: Harp這一行了。此時服務端解析request,根據(jù)cookie就知道當前用戶是登陸狀態(tài)的。

顯然,直接在cookie里寫用戶的username是不安全的。我們可以把username存在session里,假設session是一個字典,用戶登錄驗證成功后,隨機生成一個長的字符串session_id作為key,username作為value存入session中,然后把session_id作為cookie返回給瀏覽器,瀏覽器下次請求時候帶上的cookie內容為這個session_id,我們去session里取對應的value即可。

總結

以上是生活随笔為你收集整理的python socket编程:实现redirect函数、cookie和session的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。