1、使用webpy自身带的session配置选项,具体如下:

web.config.session_parameters['cookie_name'] = 'webpy_session_id'

web.config.session_parameters['cookie_domain'] = None

web.config.session_parameters['timeout'] = 86400, #24 * 60 * 60, # 24 hours in seconds

web.config.session_parameters['ignore_expiry'] = True

web.config.session_parameters['ignore_change_ip'] = True

web.config.session_parameters['secret_key'] = 'fLjUfxqXtfNoIldA0A0J'

web.config.session_parameters['expired_message'] = 'Session expired'

cookie_name - 保存session id的Cookie的名称

cookie_domain - 保存session id的Cookie的domain信息

timeout - session的有效时间 ,以秒为单位

ignore_expiry - 如果为True,session就永不过期

ignore_change_ip - 如果为False,就表明只有在访问该session的IP与创建该session的IP完全一致时,session才被允许访问。

secret_key - 密码种子,为session加密提供一个字符串种子

expired_message - session过期时显示的提示信息。 根据选项的解释。即当设置

'ignore_expiry'=True

则即使过期时间到,也不会提示客户端session过期,但是会在服务器端把之前的session删除,重新生成一个session;即此时等同于新来的请求,后面该登录的还要重新登录;否则如果该值为False,那么在session过期时间后【即timeout所设置的时间】,将会返回字符串

Session expired给客户端,这样的体验定然是不好的,所以该用的时候还得用。http://webpy.org/cookbook/sessions.zh-cn官网帮助文档地址

2、使用自定义session类的方法来重写session过期后的返回操作,如重定向。

新建一个文件名称为session.py,其新建一个MySession类,并重写其expired方法。

import web

from web.session import Session

class MySessionExpired(web.HTTPError):

def __init__(self, headers,message):

web.HTTPError.__init__(self, '200 OK', headers, data=message)

class MySession(Session):

def __init__(self, app, store, initializer=None):

Session.__init__(self,app,store,initializer)

def expired(self):

self._killed = True

self._save()

message = self._config.expired_message

headers = {'Content-Type': 'text/html','Refresh':'2;url="/account/login"'}

raise MySessionExpired(headers, message)如何使用:

import web

from session import MySession

web.config.session_parameters['cookie_name'] = 'myapp_sessid'

web.config.session_parameters['cookie_path'] = '/'

web.config.session_parameters['timeout'] = 120

web.config.session_parameters['ignore_expiry'] = False

web.config.session_parameters['ignore_change_ip'] = True

web.config.session_parameters['secret_key'] = 'Jp9kLsy7Fre5m2sNxz3RwAq'

web.config.session_parameters['expired_message'] = 'Session expired, will redirect...'

session = MySession(app, web.session.DiskStore('sessions'), {})

原文博客地址: http://space.wudiweb.com/phychion/blog/9

python session过期_python session过期timeout处理相关推荐

  1. python关闭浏览器、未过期的session_解决因为关闭浏览器造成session失效的假象

    session在服务端保存信息,是否关闭浏览器和session销毁无关,即:即使关闭浏览器,session还是存在的.但是为什么关闭浏览器后session好像就消失了. 1 session和cooki ...

  2. 如何设置一个严格30分钟过期的Session

    今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: "如何设置一个30分钟过期的Session?", 大家不要觉得看似简单, 这里面包含的知识 ...

  3. php修改session生存时间,修改session的过期(生存)时间

    以下我以php为例,万变不离其宗,希望对大家都有用吧. session与cookie: 了解过两者的众所都知道,有些信息保存到cookie,有些出于安全问题就不能直接存到浏览器,这就要用到sessio ...

  4. 如何设置一个严格30分钟过期的Session 1

    第一种回答 那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如下: 首先, 这个PHP是用一定的概率来运行 ...

  5. python session模块_Python backend.set_session方法代码示例

    本文整理汇总了Python中keras.backend.set_session方法的典型用法代码示例.如果您正苦于以下问题:Python backend.set_session方法的具体用法?Pyth ...

  6. .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...

    这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...

  7. 爬虫cookie过期_python instagram 爬虫

    叶湘伦:[文字篇]如何系统地自学 Python?​zhuanlan.zhihu.com 直接介绍一下具体的步骤以及注意点: instagram 爬虫注意点 instagram 的首页数据是 服务端渲染 ...

  8. Python的cookies与session

    一. 渊源 当我们浏览一个网页,比如逛淘宝,我们在上面进行了登录,然后看上了心仪的东西并加入了购物车.临时有事,把电脑关掉了,第二天再重新打开这个界面的时候,我们发现并没有进行登录操作,就已经登陆上去 ...

  9. 【python】Flask之session使用

    一.session机制 1.1 session的作用 由于http协议是一个无状态的协议,但网站基本上有登录使用的功能,这要求有状态管理,而session机制实现的就是这个功能 session基于co ...

  10. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

最新文章

  1. java考勤与工资管理系统
  2. Codeforces 755B. PolandBall and Game 贪心
  3. 毕业设计-基于Python爬虫的疫情数据可视化系统
  4. Intel Core Enhanced Core架构/微架构/流水线 (1) - 特性概述
  5. 我的github教程
  6. html5实现拖拽上传头像
  7. 数字电路课程设计---电子钟
  8. CentOS7系统中:安装tree命令的问题
  9. 电化学血糖传感器原理及发展
  10. 如何生成微信小程序二维码(uniapp开发)
  11. svn 服务器ip地址变更
  12. 撒大飒飒撒大声地撒萨达
  13. 集合点 java协议_LR插入集合点rendezvous
  14. 五一假期维修手机感想
  15. 模拟电子技术基础------单管共射放大电路
  16. python语法31[函数]
  17. 正确计算linux系统内存使用率
  18. android使用wifi连接android手机
  19. 有回路的有穷自动机转化为正规式的方法
  20. C++(数据结构复习篇)(数组【压缩】|广义表)的概念和相关算法)

热门文章

  1. RN:Android 开发记录
  2. 计算机基础与应用演示文稿教案,计算机应用基础教案82修饰演示文稿.pdf
  3. 亿乐社区一比一高仿源码全开源
  4. 如何制作行政区划矢量图(shp格式)
  5. 最简单易懂的C语言代码实现最小二乘法线性拟合直线
  6. sqlmap的安装教程
  7. 软考初级程序员含金量高吗?有答案了
  8. (五)比赛中的CV算法(上2)目标检测初步:神经网络及优化方法
  9. 关于单片机(MCU)最强科普(万字总结,先马后看)
  10. 视频教程-visio 2010基础培训视频教程-Office/WPS