PHP Cookie与Session跨域访问、传递

本文介绍了一种在PHP项目中解决跨域Session和Cookie传递问题的方法。通过设置特定的配置项和使用自定义的PHP脚本来实现跨域访问。测试环境使用的是Vista Home + XAMPP-win32-1.7.1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script type="text/javascript"><!-- google_ad_client = "pub-0241434510974184"; /* 博客文章广告728x90, */ google_ad_slot = "7316585398"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

晚上特意花了个时间,自己动手试了下。
在项目中一直碰到Cookie跨域访问及SessionId跨域传递问题

范例:
index.php

<?php include_once('a.php'); session_start(); $_SESSION['k'] = uniqid(); setcookie("sess", session_id(), time()+3600, "/", ".ipggg.com"); echo "index.php<br />/n"; echo $_SESSION['k'].'<br />'; echo "<mce:script src="http://www.ipggg.com/test/b.php" mce_src="http://www.ipggg.com/test/b.php"></mce:script>"; var_dump($_COOKIE); echo "<br />/n"; ?>

a.php

<?php header('Content-type: text/html; charset=utf8'); /* 我注释掉P3P还是可以,难道是因为我RP太高?! 用IE7或者火狐都可以访问到值; 使用环境Vista home + xampp-win32-1.7.1套装 */ //header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); /* memory_limit是设置PHP使用内存时空间,一般设置为内存的四分之一,应该就查不多了。 */ @ini_set('memory_limit', '64M'); /* 指定会话模块是否在请求开始时自动启动一个会话。默认为 0(不启动)。 */ @ini_set('session.auto_start', 0); /* 以分钟数指定缓冲的会话页面的存活期,此设定对 nocache 缓冲控制方法无效。默认为180 */ @ini_set('session.cache_expire', 180); /* 指定是否启用透明 SID 支持。默认为 0(禁用)。 包含着会话名以及会话 ID 的常量,格式为 "name=ID",或者如果会话 ID 已经在适当的会话 cookie 中设定时则为空字符串。 */ @ini_set('session.use_trans_sid', 0); /* 指定是否在客户端用 cookie 来存放会话 ID。默认为 1(启用)。 */ @ini_set('session.use_cookies', 0); /* 标志着作为访问的Cookie只能通过HTTP协议。不过使用AJAX用PHP访问就可,纯JavaScript无效!只能防范一点点,而且不是所有浏览器都支持。 */ @ini_set("session.cookie_httponly", 1); /* 这个应该不用多说,PHP错误开关 */ @ini_set('display_errors', 1); ?>

b.php

<?php include_once('a.php'); session_id($_COOKIE['sess']); session_start(); setcookie("test", $_SESSION['k'], time()+3600, "/", ".ipggg.com"); ?>

设置C:/WINDOWS/system32/drivers/etc/hosts

引用
127.0.0.1ipggg.com
127.0.0.1 www.ipggg.com

测试方法:
直接打开http://ipggg.com/程序存放目录/index.php

PS:
1、使用火狐搭配firebug进行调试;
2、官方建议使用strip_tags输出HTML,防范XSS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值