脚本宝典收集整理的这篇文章主要介绍了【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: /
那么浏览器下次请求,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编程】—— 5.实现cookie和session全部内容,希望文章能够帮你解决【python socket编程】—— 5.实现cookie和session所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。