澳门至尊网站-首页

您的位置:澳门至尊网站 > 软件综合 > cookie和session

cookie和session

2019-10-23 05:33

cookie和session

一、  cookie

图片 1

cookie是保留在浏览器当地的键值对。浏览器和服务器之间传输时,它是在响应头里带有的。浏览器和服务器端都得以设置cookie。浏览器选用js向劳动器端传送或涂改cookie,举例在浏览器控台写document.cookie=”user=tom”。

服务器端设置cookie的各式参数跋山涉水的近义词

request.set_cookie(key,value,max_age=,expires=,path=’/’,domain=’’,secure=False,httponly=False)

max_age爬山涉水cookie的保质期,单位为秒,不过IE不认

expires爬山涉水cookie的保质期,值为datatime类型。

eg:设置cookie保藏期为7天

expires=datatime.datatime.utcnow()+datatime.timedelta(day=7)

path跋山涉水的近义词设置该cookie只在该路径下生效

domain跋山涉水的近义词设置在该二级域名下生效

secure跋山涉水的近义词当网址使用https时需改为Ture,默认为Flase。

httponly爬山涉水只允许行使http合同访谈。然则在浏览器端认可使用js覆盖原值,到达校勘的指标。

二、  session

图片 2

session是保留于服务器端的键值对。保存形式是{“sessionid”爬山涉水{“username”爬山涉水“tom”,“passwd”爬山涉水“123456”,}},sessionid代表客商的身价,session在探索时是依靠sessionid来探求。查找到的value存款和储蓄着顾客的个人新闻。sessionid是顾客访谈服务器时Django自动创立分配的,存于cookie中,所以session需求信赖cookie。在数据库中,key和value也是已加密的花样积累。同三个客商只发生一条数据,对于失效的session会自动更新而非重新制造。session暗中同意保藏期为半个月。

session的简练操作:

获取session:request.session[key]

设置session:request.session[key]=value

删除session:del request.session[key]

注跋山涉水的近义词删除实际上并不是真正的删除,而是将数据库的session_data更新为任何的值。

设置session过期时间跋山涉水的近义词

request.session.set_expiry(value)

设若value是个整数,session会在此些秒数后失效;

假若value是datatime或timedelta,session会在此个时辰后失效;

假如value是0,则在客户关闭浏览器后失效;

生机勃勃旦value是none,session会在借助全局session失效战术。

session失效并从未从数据库中去除。

三、实例cookie和session协作的登入验证

请移步:

四、调试

浏览器报错跋山涉水的近义词'WSGIRequest' object has no attribute 'session' 

解决方案:由于在pycharm中写session时不提示session的相关操作,所以将settings.py中的中间件由MIDDLEWARE改为MIDDLEWARE_CLASSES。实际上,根据其他博客所写,这是Django版本的问题,1.10之前,中间件的key为MIDDLEWARE_CLASSES, 1.10之后,为MIDDLEWARE。所以在开发环境和其他环境的版本不一致时,要特别小心,会有坑。 (参考文章:http://blog.csdn.net/xiongjiezk/article/details/53220302)

 

本文由澳门至尊网站发布于软件综合,转载请注明出处:cookie和session

关键词: