这里没有原理只有实践
1.Cookie方式实现传递.(不太靠谱)
$_COOKIE[‘sid’]=session_id();//第一个域
session_id($_COOKIE[‘sid’]);//到第二个域查看PHPSESSID;
2.Session
2.1 目前我们有 a.ioqx.com ,b.ioqx.com ,c.ioqx.com 这些个二级域实现跨域
只要在文件开头写上ini_set(‘session.use_trans_sid’, 1);实现session共享即可解决
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
date_default_timezone_set("Asia/Shanghai"); session_save_path('E:\\session\\'); ini_set('session.use_trans_sid', 1); session_start(); echo $_SERVER['HTTP_HOST'],'<br />'; if (isset($_SESSION['key']) && $_SESSION['key'] == 'zdz') { echo '欢迎登陆!'; } else { $form=' <form action="" method="get"> 用户名:<input type="text" name="name" /> 密 码:<input type="password" name="pass" /> <input type="submit" value="提交" /> </form>'; echo $form; }
if (isset($_GET['name']) && isset($_GET['pass'])) { if ($_GET['name'] == 'ioqx' && $_GET['pass'] = 'ioqx') { $_SESSION['key'] = 'ioqx'; } }
|
2.2session如果是在访问量超大的地方最好单独配置一台服务器专门存取SESSION信息/或者入库/缓存
3.如果夸大域名 www.ioqx.com 到 www.xnrw.com 只能登陆的是时候同时种SESSION;