七空幻音LOGO

七空幻音

PHP下COOKIE与SESSION二级域名跨域2016-02-21 02:52:10

COOKIE和SESSION是在浏览器中很重要的东西,用来记录登陆或者一些数据,同一域名下使用很简单,但是在二级域名下却无法直接共享,对于一些只用一个子域名的网站来说并没有什么卵用,但是对于一些分很多二级域名的网站来说是必须要会的,比如bilibili就分成了很多子站,首页,搜索,账户,直播,消息等等。

COOKIE消失的时间可以自行设置,而SESSION的消失时间则是浏览器关闭则消失。一般网站在登陆的时候都是COOKIE与SESSION同时使用来确保登录的。

接下来我来说明一下最简单的设置COOKIE与SESSION的方法,方法很简单。

cookie与session


<?php
//设置一个叫做mySession的session
$_SESSION['mySession'] = "设置一个session";
//设置一个叫做myCookie的cookie,时间1小时
setcookie("myCookie","设置一个cookie",time()+3600);
?>
设置最基础的cookie与session非常简单,共享给二级域名的cookie与session其实也不是很难。


都知道setcookie函数提供了一个路径域名因此只需要添加这两个就可以了

我在两个不同的二级域名下

set.localhost.com下创建set.php

get.localhost.com下创建get.php   

共享cookie


<?php
//set.php文件中写下如下代码
//path参数填写 / 是站点根目录都生效
//domain参数填写 localhost.com 是主域名(一定要是主域名)
setcookie("myCookie","设置一个cookie",time()+3600,"/","localhost.com");
?>

<?php
//get.php文件中写下如下代码 
//输出COOKIE则会发现另外一个二级域名访问设置的cookie已经在整个主域名及二级等生效
echo $_COOKIE['myCookie'];
?>
共享session



<?php
//set.php文件中写下如下代码
//开启session
session_start();
//设置session
$_SESSION['mySession'] = "设置一个session";
//用cookie把当前域名下的session放到cookie中去
setcookie("liveSession",session_id(),time()+604800,"/","localhost.com");
?>

<?php
//get.php文件中写下如下代码
//获取储存在cookie里面的liveSEssion
session_id($_COOKIE['liveSession']);
//开启session
session_start();
//获取在b.php文件中设置的mySession
echo $_SESSION['mySession'];
 ?>
 设置跨二级域名的cookie和session很简单,两个文件我打包放在下面,大家可以自行参考


关于本地设置二级域名的话,可以去 C:WindowsSystem32driversetc下用管理员权限打开记事本的打开hosts添加一下代码


127.0.0.1 www.localhost.com
127.0.0.1 search.localhost.com
127.0.0.1 account.localhost.com
..........
 记住一定要是管理员权限!!


下载地址:

【七空幻音】PHP下设置跨域COOKIE与SESSION.zip

0条评论登录后可见

用户头像
幻音い
咕了咕了咕了....

文章:125

收藏:3

查看更多
详细图片
载入中...