如果用户不点击网站的“退出”链接,而直接关闭浏览器(或者强制关闭浏览器进程、死机等),服务器无法处理用户退出网站的请求,解决方式如下:
方式1:在每个页面中加入隐藏的IFrame,以异步刷新的方式定期刷新iframe页面,如每隔10S刷新一次,当服务器在一定的时间内未收到用户的刷新请求,则认为用户已经退出
优点:能在短时间内判断出用户是否已经退出 缺点:增加用户请求次数,所消耗的服务器资源较大
方式2:使用cookie保存用户登录信息,不要设置cookie的过期时间,当关闭浏览器时,cookie会自动过期
优点:处理方便 缺点:用户浏览器不一定支持cookie,也就无法实现该方式
方式3:在页面中添加onunload事件,当关闭浏览器时,自动跳转到“退出”页面(loginout.action)
优点:退出时,能及时进行处理 缺点:当用户打开多个页面时,关闭任何一个页面都有可能导致用户的退出
方式4:记录用户的每次操作时间(包括页面刷新、提交表单等),在数据库中用作业每隔一段时间检查上次的操作时间,当操作时间大于一定的数值时,就认为该用户已经退出
优点:无论哪种非正常退出,都能够进行处理 缺点:进行检查的时间间隔不容易确定,如果用户在线,当长时间未操作,也会认为用户已经退出
方式5:等待session失效
优点:你可以不用做任何工作 缺点:用户可以在你等待的这段时间内重新登录。
浏览器关闭使session失效的问题多种解决方式
2020-07-24 16:51编程技术网 编程技术
直接关闭浏览器(或者强制关闭浏览器进程、死机等),服务器无法处理用户退出网站的请求,此举将会导致session失效,下面整理了一些解决方法,感兴趣的朋友可以参考下哈
延伸 · 阅读
- 2022-04-19夸克浏览器网页版入口在哪里?怎么进?夸克怎
- 2022-03-09react实现浏览器自动刷新的示例代码
- 2022-03-07易语言做浏览器的方法
- 2022-03-03低配电脑用户福音!新版Edge浏览器将引入性能检
- 2022-03-03修复28个漏洞 Chrome 99稳定版发布 100版接踵而至
- 2022-03-02android 使用浏览器打开指定页面的实现方法
- 编程技术
简单、好懂的Svelte实现原理
本文会围绕一张流程图和两个Demo讲解,正确的食用方式是用电脑打开本文,跟着流程图、Demo一边看、一边敲、一边学...
- 编程技术
真正聪明的程序员,总有办法不加班
工作效率提升了,就可以少加班了,聪明的程序员,总会有一堆可以提升编码效率的工具?当一种工具满足不了工作需求,就去探索新的,今天纬小创就给...
- 编程技术
Delphi - Indy idMessage和idSMTP实现邮件的发送
这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...
- 编程技术
2021年值得关注的React PDF 库
今天,许多网络应用程序为其用户提供内置的PDF浏览选项。然而,选择一个并不容易,因为它们的功能远远超过显示PDF。在这篇文章中,我将评估5个React的...
- 编程技术
AIOps,SRE工程师手中的利器
AIOps开始成为一种极为重要的站点可靠性工程工具。它能够高效吸纳观察数据、参与数据以及来自第三方工具的数据,判断系统运行状态并保证其处于最佳...
- 编程技术
从Context源码实现谈React性能优化
这篇文章主要介绍Context的实现原理,源码层面掌握React组件的render时机,从而写出高性能的React组件,源码层面了解shouldComponentUpdate、React.memo、PureComponen...
- 编程技术
让开发效率倍增的 VS Code 插件
今天来分享一些提升开发效率的实用 VS Code 插件!Better Comments 扩展可以帮助我们在代码中创建更人性化的注释,有不同形式和颜色的注释供我们选择。 ...
- 编程技术
用户态 Tcpdump 如何实现抓到内核网络包的?
在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包...