社区
PHP
帖子详情
关闭浏览器,销毁session
你山炮
2014-07-07 02:08:16
关闭浏览器,销毁session 如何实现
...全文
1856
9
打赏
收藏
关闭浏览器,销毁session
关闭浏览器,销毁session 如何实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
卖水果的net
2014-07-14
打赏
举报
回复
关闭 IE 会话就会失效,这个是自动的,但是不会马上生效。等Apache 来清除垃圾时,才算真正失效。
能写程序-会种庄稼
2014-07-07
打赏
举报
回复
csdn的cookie,很明显,可以看到cookie中的session id
能写程序-会种庄稼
2014-07-07
打赏
举报
回复
首先你要清楚session的机制。 session的标识靠session id, 浏览器发送session id到服务器,服务器才能根据session id从本地存储中拿到对应浏览器的session。session id常见实现方式是透过cookie或者url参数传递,默认情况下,session id的cookie在浏览器关闭就失效了,url的话,一般在url上可以看到 ...&sid=fdafoeijadlf之类的东西,那个就是session id。 服务器对保存在本地的session数据有时限的控制,默认半小时,即半小时不访问对应的cookie,服务器端就会清理掉该session。 因此销毁session设计两个方面,1、删除服务器上的session数据,2、干掉session id。 回到楼主的问题,默认情况下,php的session id透过cookie传递,lz可以打开firebug或者ie的f12工具,查看cookie,可以看到SESSIONID一项,并注意这一项的失效时限就是0应该,即浏览器关闭失效。那么浏览器程序本身在关闭的时候会干掉这个cookie,即session id没有了。下次访问,服务器就会设置一个新的session id。 如果半小时不刷新,服务器自身也会删除session的数据,那么就算你不关闭浏览器,再次访问页面,session id是发过去 ,但是服务器上的session数据没了,session也失效。 回答比较乱,楼主将就看吧! 上边提到的很多是假设默认配置没改的情况。如果是linux服务器,可以看看/tmp目录,会看到很多文本文件,那些就是session数据。浏览器的调试工具的cookie项可以看到session id。 如果session id是通过url改写实现而不利用cookie,那么直接观察url就行了。
傲雪星枫
2014-07-07
打赏
举报
回复
本來就是這樣,不需要實現的。
一起混吧
2014-07-07
打赏
举报
回复
默认情况下,关闭浏览器session就失效了。
猪崽儿0o0
2014-07-07
打赏
举报
回复
楼主肯定是问非正常情况下退出也要重置用户表中对应的用户状态?那个难度有点大,以前也有碰到类似的情况,可以使用定时任务扫描session_id,然后操作数据库修改对应用户的状态。也可以使用uchome的机制,去看看它的源码参考下。
你山炮
2014-07-07
打赏
举报
回复
就是关闭浏览器时让用户成为推出系统状态,,
小在在
2014-07-07
打赏
举报
回复
默认情况下,你关闭浏览器,服务器端会自动销毁对应的session_id 如果你想用页面来控制的话,用js的onunload事件。但非正常关闭就不好控制了。
xuzuning
2014-07-07
打赏
举报
回复
关闭浏览器 session id 就失效了,至于垃圾如何处理,等清洁工来了就知道了
关闭
页面时清空
Session
(ASP.net ) (已实现)
关闭
页面时清空
Session
(ASP.net ) (已实现)
PHP中
session
变量的
销毁
1.何为
session
?相当于一个客户端(可以是
浏览器
、app、ftp等其他,而且同一个
浏览器
多开几个又算是不同的客户端)对服务器的一个访问,这个期间服务器为此建立一个唯一的标示(
session
_id
session
_name),其实也就是一个数组Array(),
Session
的开始和结束并不以业务上的输入用户名密码开始,也不以
关闭
浏览器
和网页刷新而结束 2.
session
变量的
销毁
程序代码<?php
session
_unset();
session
_destroy();?>
session
_unset()释放当前在内存中已经创建的所有$_
SESSION
变量,但不删除
session
文件以及不释放对
缓存文件
Session
信息保存在数据库中
web项目开发过程中经常遇到用户登陆,退出的问题,根据登陆和退出来操作
session
的存值和
销毁
. 但往往很多用户不去点击"退出",而是
关闭
FF的tab或
浏览器
(多种
浏览器
),这就给
session
的
销毁
带来了困难.
asp.net
session
对象的持久化
众所周知,
Session
对象的生命周期
关闭
浏览器
之后就会
销毁
,那该如何持久化的保存
Session
对象的数据呢?(ps:将
session
对象的值保存到数据库当中就可以了)使用SQL Server数据库保存
Session
session
对象案例 记住密码功能开发时用到了cookie对象去存储用户的密码,但是使用
session
对象也可以去实现记住密码的功能,但是
关闭
浏览器
之后,
session
对象他就会消失,根本“记不住密码”!!! 那该怎么办?那就需要将
session
对象进行持久化的处理,这样
浏览器
才能通过
session
对象来“记住密码”。 ps:本人还是感觉用cookie对象去实现该功能比较好,这
WEB16-
session
&cookie-源代码.rar
WEB16_
session
&cookie。 案例一、记录用户的上次访问时间---cookie 案例二、实现验证码的校验----
session
。 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,String cookieValue); 示例: Cookie cookie = new Cookie("username","zhangsan"); 那么该cookie会以响应头的形式发送给客户端: 注意:Cookie中不能存储中文 2)设置Cookie在客户端的持久化时间: cookie.setMaxAge(int seconds); ---时间秒 注意:如果不设置持久化时间,cookie会存储在
浏览器
的内存中,
浏览器
关闭
cookie信息
销毁
(会话级别的cookie),如果设置持久化时间,cookie信息会 被持久化到
浏览器
的磁盘文件里 示例: cookie.setMaxAge(10*60); 设置cookie信息在
浏览器
的磁盘文件中存储的时间是10分钟,过期
浏览器
自动删除该co
PHP
20,361
社区成员
19,659
社区内容
发帖
与我相关
我的任务
PHP
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
复制链接
扫一扫
分享
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
php
phpstorm
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章