PHP下COOKIE与SESSION二级域名跨域
- 2016-02-20 18:52:10
- 幻音い
- 8112
温馨提示: 这篇文章于3199天前编写,现在可能不再适用或落后.
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'];
?>
<?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'];
?>
关于本地设置二级域名的话,可以去 C:WindowsSystem32driversetc下用管理员权限打开记事本的打开hosts添加一下代码
127.0.0.1 www.localhost.com 127.0.0.1 search.localhost.com 127.0.0.1 account.localhost.com ..........
``` 记住一定要是管理员权限!!
下载地址:
阁下需要登录后才可以查看评论哦~