session的持久化操作
来源:互联网 发布:管家婆数据库升级失败 编辑:程序博客网 时间:2024/05/15 11:17
以下部分来自网络:
保持Session的方法:有人说设session.timeout=-1,或小于0的数。这种方法肯定是不行的,session计算时间以分钟为单位,必须是大于等于1的整数。又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你最大可以session.timeout=1440,1441都是不可以有,呵呵。本人测试环境:win2003+IIS6.0+ASP3.0。
所以想通过设session.timeout的过期时间让session永不过期是不可能的。写到Cookies里是比较好的方法,网上也有很多这样的教程,这里就不再说了!还有就是用在要保持session的页里设隐藏iframe每隔一段时间(这个时间小于session.timeout的时间)把刷新一次frame里的空页面!实现方法如下:
在要保持session页里加上: <iframe width=0 height=0 src="/blog/SessionKeeper.asp">
</iframe>
同目录下建一下SessionKeeper.asp的文件。 <html>
<head>
<meta http-equiv="Refresh" content="900000;url=sessionKeeper.asp">
<!--每隔900秒刷新一下自己,为了和服务器通讯一下,保持session不会丢-->
</head>
</html>
这种方法还是比较长见的,另外还有一种和上面类似的方法,不过他不是用meta自动刷新嵌套的iframe的方法。他是用javascript:window.setTimeout("functionname()",10000);第隔一段时间时间自动调用一个函数的方法,当然函数里还是要去连接一个空的文件。具体方法如下:
在要保持session面里加上: <script id=Back language=javascript></script>
<script language=javascript>
function keepsession(){
document.all["Back"].src="/blog/SessionKeeper.asp?RandStr="+Math.random();
//这里的RandStr=Math.random只是为了让每次back.src的值不同,防止同一地址刷新无效的情况
window.setTimeout("keepsession()",900000); //每隔900秒调用一下本身
}
keepsession();
</script>
这样同一目录下建一个空内容的sessionKeeper.asp就文件就可以了!
以下为自己实操:写入文件与写入cookie原理一样,写入cooikie貌似并不能持久,如果失效后新用户访问怎么取回来?
写入数据库就没必要了吧。
写入文件即可:
if($_POST){
if(isset($_SESSION['uid']) && file_exists('./uid.txt')){
$uid = $_SESSION['uid'] = $_SESSION['uid']+1; //如果session失效后来会在下面设置,来到这里后肯定是下一次请求,这里加1也正好合适
$myfile = fopen("./uid.txt","w");
fwrite($myfile,$uid);
}else{
$uid = $_SESSION['uid'] = 1;
if(file_exists('./uid.txt')){
$myfile = fopen("./uid.txt","r+");
$uid = $_SESSION['uid'] = fread($myfile,filesize("./uid.txt"))+1; //因为到达这里肯定是新请求所以加1才合适
}else{
$myfile = fopen("./uid.txt","w");
fwrite($myfile,$uid);
}
}
- session的持久化操作
- session 的持久化
- Session的持久化
- session的持久化原理
- Tomcat6.x Session对象的持久化
- SESSION持久化的方法 TOMCAT5.5
- WebLogic的Session持久化策略
- 企业级应用-Session对象的持久化
- Session持久化的实例分析
- TOMCAT SESSION的持久化方法
- Session持久化的实例分析(转)
- Session持久化的实例分析
- Tomcat提供的session持久化
- 一、去除Tomcat的Session持久化
- 会话Session的持久化处理
- Session持久化的实例分析
- 实现Session持久化的配置
- 会话Session的持久化处理
- 区块链技术对物联网发展的独特优势
- C++new和delete实现原理
- Java的反射获得Class对象
- 释放linux内存缓存
- ubuntu16.0.4 显卡驱动崩掉,如何重装
- session的持久化操作
- 2018年网易校招内推编程题之等差数列
- HDOJ1002 A+B Problem II(高精度/大整数加法)
- ROC曲线和AUC值的python代码
- 《Spring AOP学习总结之三—AOP对于事务的配置》
- js入门篇(第一篇)
- smartforms 将编辑器设为word
- Linux vim学习
- Discuz插件提示:对不起,您安装的不是正版应用的解决办法