题主用的是thinkphp开发的,靠着它现有功能是能实现一段时间内,结束这个会话(不管用户有无操作),但这么一来,体验肯定不好了对于用户有没有操作的判断业界一般是指什么样的情况?1.鼠标一段时间不移动?2.鼠标没有点击操作?3...我可以用js来记录的这些操作在cookie中,并能设置cookie的过期时间,但是cookie是过期了,怎么结束session呢?
1 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
方案一
服务端实现原理:用户表设置一个一段记录访问时间戳,当用户登录时写入当时时间戳加上需要间隔不操作的时间,每次访问需要登录权限的页面时,先检测该字段的时间是否大于当前时间,如果大于,那么说明有在操作,并且把时间戳加上需要间隔不操作就退出的时间,再次更新该字段。或者用session代替数据库记录。
方案二
前端实现原理,使用HTML5存储或者cookie,跟方案一思路一致,只不过存储方式换了。
方案比较
方案一的数据库存储,性能上不妥,HTML5不兼容低版本浏览器,cookie禁用js会失效。所以session比较合适
添加回答
举报
0/150
提交
取消