1 / 3
文档名称:

PHP SESSION跨子域问题解决方案.doc

格式:doc   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PHP SESSION跨子域问题解决方案.doc

上传人:yzhluyin1 2016/7/14 文件大小:0 KB

下载得到文件列表

PHP SESSION跨子域问题解决方案.doc

文档介绍

文档介绍:Session 主要分两部分: 一个是 Session 数据,该数据默认情况下是存放在服务器的 tmp 文件下的,是以文件形式存在另一个是标志着 Session 数据的 Session Id, Session ID , 就是那个 Session 文件的文件名, Session ID 是随机生成的, 因此能保证唯一性和随机性, 确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中, 关闭浏览器后该 ID自动注销,重新请求该页面后,重新注册一个 session ID 。如果客户端没有禁用 Cookie , 则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID和 Session 生存期的角色。两个不同的域名网站,想用同一个 Session ,就是牵扯到 Session 跨域问题! 默认情况下, 各个服务器会各自分别对同一个客户端产生 SESSIONID , 如对于同一个用户浏览器, A 服务器产生的 SESSION ID是 ********** ,而 B 服务器生成的则是 222222 。另外, PHP 的 SESSION 数据都是分别保存在本服务器的文件系统中。想要共享 SESSION 数据,那就必须实现两个目标: 一个是各个服务器对同一个客户端产生的 SESSION ID 必须相同,并且可通过同一个 COOKIE 进行传递,也就是说各个服务器必须可以读取同一个名为 PHPSESSID 的 COOKIE ;另一个是 SESSION 数据的存储方式/ 位置必须保证各个服务器都能够访问到。这两个目标简单地说就是多服务器(A、B 服务器) 共享客户端的 SESSION ID ,同时还必须共享服务器端的 SESSION 数据。有三种解决方法: 1. 只要在 php 页面的最开始(要在任何输出之前,并且在 session_start() 之前)的地方进行以下设置 ini_set('', '/'); ini_set('', '.'); ini_set('session.