【python socket编程】—— 5.实现cookie和session

发布时间:2019-06-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【python socket编程】—— 5.实现cookie和session脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前文:【python socket编程】—— 4.实现redirect函数


cookie的实现很简单,在服务器返回的响应中,header里增加Set-Cookie,浏览器接受到Set-Cookie中的value,下次访问这个网站的请求中就会带上这个cookie。编写一个增加cookie的函数:

def add_cookie(cookie=''):
    header = 'HTTP/1.1 200 OK rnContent-tyPE: text/htMLrn'
    header += 'Set-Cookie: {}rn'.format(cookie)
    return header

假设用户登录验证成功之后,我们用add_cookie将其用户名username存入到cookie中返回给浏览器,例如承接前文,用户登录成功后给其返回一个302跳转的响应,我们在其中再加入cookie,此时response如下:

HTTP/1.1 302 JUMP 
Content-Type: text/html
Set-Cookie: Harp
Location: /

那么浏览器下次请求,requestheader里就会带上Cookie: Harp这一行了。此时服务端解析request,根据cookie知道当前用户是登陆状态的。


显然,直接在cookie里写用户的username是不安全的。我们可以把username存在session里,假设session是一个字典,用户登录验证成功后,随机生成一个长的字符串session_id作为keyusername作为value存入session中,然后把session_id作为cookie返回给浏览器,浏览器下次请求时候带上的cookie内容为这个session_id,我们去session里取对应的value即可。


下一篇文章【python socket编程】—— 6.简单实现render_template和密码hash

脚本宝典总结

以上是脚本宝典为你收集整理的【python socket编程】—— 5.实现cookie和session全部内容,希望文章能够帮你解决【python socket编程】—— 5.实现cookie和session所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。