PHP+Apache实现二级域名之间共享cookie的方法


Posted in PHP onJuly 24, 2019

本文实例讲述了PHP+Apache实现二级域名之间共享cookie的方法。分享给大家供大家参考,具体如下:

简介

login.koastal.com设置domain为koastal.com,则www.koastal.com即可访问该cookie。
也就是说二级域名(或者三级域名)之间可以通过这种方式共享cookie。
其实cookie的domain属性的用法跟path有些类似,比如我们将cookie的path设置为/,则/user目录下也可以访问该cookie。

实践

Apache同一端口对应不同域名

httpd-vhosts.conf

<VirtualHost 127.0.0.1:80>
  ServerName koastal.com
  ServerAlias www.koastal.com 
  DocumentRoot D:\wamp64\vhosts\www
  <Directory "D:\wamp64\vhosts\www">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>
<VirtualHost 127.0.0.1:80>
  ServerName login.koastal.com
  DocumentRoot D:\wamp64\vhosts\login
  <Directory "D:\wamp64\vhosts\login">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

修改本机hosts

windows

C:WINDOWS/system32/drivers/etc/hosts

linux

vim /etc/hosts

在最后添加

127.0.0.1  www.koastal.com login.koastal.com

编写php代码进行测试

D:\wamp64\vhosts\www\index.php

<?php
if(isset($_COOKIE['username'])){
  echo "welcome to ".$_COOKIE['username'];
  var_dump($_COOKIE);
}else{
?>
<h1><a href='http://login.koastal.com'>Login</a></h1>
<?php
}

D:\wamp64\vhosts\login\index.php

<form action="#" method="post">
<p>username:<input type="text" name="username"></p>
<p>password:<input type="password" name="password"></p>
<p><input type="submit" name="submit" value="submit"></p>
</form>
<?php
if(isset($_POST['submit'])){
  setcookie('username',$_POST['username'],0,'/','koastal.com');
  setcookie('password',$_POST['password'],0,'/','koastal.com');
  header('Location:http://www.koastal.com');
}

亲测可用,全文完~

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
逐步提升php框架的性能
Jan 10 PHP
php max_execution_time执行时间问题
Jul 17 PHP
php URL验证正则表达式
Jul 19 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
PHP队列用法实例
Nov 05 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
使用Zttp简化Guzzle 调用
Jul 02 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
PHP容器类的两种实现方式示例
Jul 24 #PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 #PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 #PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 #PHP
PHP中__set()实例用法和基础讲解
Jul 23 #PHP
PHP大文件分块上传功能实例详解
Jul 22 #PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 #PHP
You might like
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
javascript闭包入门示例
2014/04/30 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
js过滤HTML标签完整实例
2015/11/26 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
判断网页编码的方法python版
2016/08/12 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
德国旅游网站:weg.de
2018/06/03 全球购物
英文留学推荐信范文
2014/01/25 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
股权转让协议书范本
2014/04/12 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
法人委托书范本
2014/09/15 职场文书
工程部部长岗位职责
2015/02/12 职场文书
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL