与子域名共用session信息

参考自 http://www.jb51.net/article/19664.htm

下面的步骤只使用于两个域名在同一个服务起得情况下,如果不在一个服务器上,就需要考虑通过数据库来存储session信息,达到同步的目的。

session的运行原理

在客户端(如浏览器)登录网站时,被访问的 PHP 页面可以使用 session_start() 打开 SESSION,这样就会产生客户端的唯一标识 SESSION ID(此 ID 可通过函数 session_id() 获取/设置)。SESSION ID 可以通过两种方式保留在客户端,使得请求不同的页面时,PHP 程序可以获知客户端的 SESSION ID;一种是将 SESSION ID 自动加入到 GET 的 URL 中,或者 POST 的表单中,默认情况下,变量名为 PHPSESSID;另一种是通过 COOKIE,将 SESSION ID 保存在 COOKIE 中,默认情况下,这个 COOKIE 的名字为 PHPSESSID。

SESSION 的数据是保存在服务器端的文件或数据库中。默认情况下,php.ini 中设置的 SESSION 保存方式是 files(session.save_handler=files),即使用读写文件的方式保存 SESSION 数据,而 SESSION 文件保存的目录由 session.save_path 指定,文件名以 sess_ 为前缀,后跟 SESSION ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。文件中的数据即是序列化之后的 SESSION 数据了。如果访问量大,可能产生的 SESSION 文件会比较多,这时可以设置分级目录进行 SESSION 文件的保存,效率会提高很多,设置方法为:session.save_path=”N;/save_path”,N 为分级的级数,save_path 为开始目录。当写入 SESSION 数据的时候,PHP 会获取到客户端的 SESSION_ID,然后根据这个 SESSION ID 到指定的 SESSION 文件保存目录中找到相应的 SESSION 文件,不存在则创建之,最后将数据序列化之后写入文件。读取 SESSION 数据是也是类似的操作流程,对读出来的数据需要进行解序列化,生成相应的 SESSION 变量。

一、利用COOKIE存放session_id();

1.一级域名下

        session_start();
        setcookie("session_id",session_id(),time()+3600*24*365*10,"/",".xxx.com");
        $_SESSION[‘test‘] = "test1";
        echo "<pre>";var_dump($_SESSION);echo "</pre>";
        echo "<pre>";var_dump($_COOKIE);echo "</pre>";    

2.二级域名下

        session_id($_COOKIE[‘session_id‘]);
        session_start();
        echo "<pre>";var_dump($_SESSION);echo "</pre>";
        echo "<pre>";var_dump($_COOKIE);echo "</pre>";    

二、通过修改php.ini配置同步

修改php.ini 中  session.cookie_domain的值为xxx.com 这样在上面的代码中就不用再写 ini_set("session.cookie_domain",‘xxx.com‘)这行代码;

1.一级域名下

        ini_set("session.cookie_domain",‘xxx.com‘)     //要在session_start();的前面        session_start();
        $_SESSION[‘test‘] = "test1";
        echo "<pre>";var_dump($_SESSION);echo "</pre>";
        echo "<pre>";var_dump($_COOKIE);echo "</pre>";    

2.二级域名下

        ini_set("session.cookie_domain",‘Alixixi.com‘);       session_start();
        echo "<pre>";var_dump($_SESSION);echo "</pre>";
        echo "<pre>";var_dump($_COOKIE);echo "</pre>";    
时间: 2024-10-07 00:41:56

与子域名共用session信息的相关文章

子域名枚举艺术深度剖析

子域名枚举是信息收集中关键的一步,细节很大程度决定战果.本文参考The Art of Subdomain Enumeration,加上实践运用进行总结. 被动枚举 一.证书透明度 证书 当通过HTTPS访问web时,网站向浏览器提供数字证书,此证书用于识别网站的主机名,由证书颁发机构(CA,Certificate Authority)颁发. 证书透明度 证书透明度(Certificate Transparency)简称CT,主要用于将证书记录到公开的CT log中,日志可以被任何人浏览. 通过C

信息收集-收集子域名信息

课程内容1.子域名介绍2.挖掘子域名重要性3.子域名挖掘方法4.刷洞思路 1.子域名介绍顶级域名包括".com".".net".".org".".cn"等等. 子域名(Subdomain Name),凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名. 我国在国际互联网络信息中心正式注册并运行的顶级域名是.cn,这也是我国的一级域名.在顶级域名之下,我国的二级域名又分为类

Centos 子域名绑定子目录过程记录

加载重写模块 LoadModule rewrite_module modules/mod_rewrite.so 添加配置 RewriteEngine on RewriteMap lowercase int:tolower RewriteMap vhost txt:/opt/lampp/etc/vhost.map RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$ RewriteCond ${vhost:%1} ^(/.*)$ RewriteRule ^(

网站后端_Python+Flask.0012.FLASK域名相关之域名与动态子域名实现?

域名设置: 说明: SERVER_NAME内置属性的设置会影响全局URL,它主要有两个作用,第一个作用是在请求上下文之外生成绝对URL,当然如果设置也会影响请求上下文内的绝对URL,第二个作用是用于子域名的支持 #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # 51CTOBG: http://xmdevops.blog.51cto.com/ # Purpose: # "

子域名收集的方法

一. 在百度或者goole中输入关键字site:domain 收集子域名信息 二. (1) 在站长工具同查询同一ip的所有子域名 http://s.tool.chinaz.com/same?s=www.nanshan.edu.cn&page= (2) ip反查域名 http://dns.aizhan.com/www.nanshan.edu.cn/          (有的时候貌似进不去) 三. 暴力破解工具fierce kali linux里面自带工具 输入fierce -h 查看说明文档 例如

URL资源跨域访问 跨域使用session信息

SilverLight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制,只允许访问同一子域下的URL资源. 下表列出了Silverlight 2.0 中 URL 访问规则:   WebClient对象 Media.images.ASX XAML 文件.Font 文件 流媒体 允许的协议 HTTP, HTTPS HTTP, HTTPS, FILE HTTP, HTTPS, FILE HTTP 跨协议访问 不允许 不允许 不允许 不允许来自HTTPS的访问 跨Web域访问 不允许 如果不

子域名枚举工具Sublist3r

子域名枚举工具Sublist3r 通过搜集子域名信息,可以找到目标的关联网站,找寻相应的漏洞.Kali Linux提供一款基于OSINT的枚举工具Sublist3r.该工具会搜索多个数据来源,如Google.Yahoo.Bing.Baidu.Ask.Netcraft.Virustotal.同时,该工具也支持暴力枚举功能.对搜索到的子域名,用户还可以检测特定端口的开放情况,便于后期的渗透

子域名收集的一些姿势

测试dns域传送 测试方式如图: 当然,这种方式不一定都能成功,但也不失为一种获取二级域名的方式. 反查whois 工具:站长工具 1 查询whois http://whois.chinaz.com/baidu.com 2 反查whois http://whois.chinaz.com/reverse?host=domainmaster@baidu.com&ddlSearchMode=1 获得关联域名信息 通过搜索引擎 搜索推荐工具:https://github.com/laramies/the

dns服务之bind配置内网解析部分子域名,其它子域名转发

bind配置内网解析部分子域名,其它子域名转发.以下以m.xxx.com和admin.xxx.com由内网dns解析,其它*.xxx.com转发给外网dns解析为例配置.文件/etc/named.conf:options {# listen-on port 53 { 127.0.0.1; }; #注释表示监听所有端口# listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/da