免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1323 | 回复: 0
打印 上一主题 下一主题

跨服务器共享session [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-27 10:03 |只看该作者 |倒序浏览

跨域名共享session一直是一个令人头疼的问题,遇到这个问题在网络上也搜索过.大都没有具体的实现方法.
我现在找到一个共享session的实现方法,写出来大家讨论一下.扔块砖头,有玉的砸过来.
主要原理是每次会话都有一个唯一的session-id,通过session-id来传递信息
跨域名共享session一直是一个令人头疼的问题,遇到这个问题在网络上也搜索过.大都没有具体的实现方法.
我现在找到一个共享session的实现方法,写出来大家讨论一下.扔块砖头,有玉的砸过来.
首先,建立保存session的表sessions
CREATE TABLE sessions (  
sid char(32) not null,  
expiry int(11) unsigned not null,  
value text not null,  
PRIMARY KEY (sid)  
);
注册session的页面session_reg.php
$_SESSION["sesname"]="value_of_sesname";//注册变量
$_SESSION["sesname2"]="value_of_sesname2";
$sess_text=session_encode();//将当前会话的数据进行编码
$expiry=time()+3000;//设置session有效时间
$conn=mysql_connect($DB_HOST,$DB_USER,$DB_PASSWD);//连接数据库
mysql_select_db($DB_NAME);
mysql_query("insert into sessions values ('$SID','$expiry','$sess_text')");//保存当前会话的内容
header("location:http://xxx.xxx.com/echoses.php?SID=$SID");
?>
使用session的页面echoses.php
此实现session共享的方法通过每次会话的session-id都不同,将会话内容保存在数据库中.然后通过session-id在将数据库中的会话数据取出进行验证.将会话内容保存在数据库中,可以实现session在不同主机之间共享.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3413/showart_53743.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP