PHP Cookie与Session跨域访问、传递
晚上特意花了个时间,自己动手试了下。
在项目中一直碰到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.1 
相关文档:
<?php
/* 字体转换
$content 内容
$to_encoding 目标编码,默认为UTF-8
$from_encoding 源编码,默认为GBK
*/
function mbStrreplace($content,$to_encoding="UTF-8",$from_encoding="GBK") {
$content=mb_convert_encoding($content,$to_encoding,$from_encodin ......
//遍历目录及文件
function get_all_files( $path )
{
$list = array();
foreach( glob( $path . '/*') as $item )
{
& ......
最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助。
众所周知,使用AJAX传送和接收中文参数时,如果不在客户端和服务器做相应的处理就会出现乱码问题,在网上相应的文章也不少,但是有的情况下很难从中找到符合自己理想的答 ......
1.配置IIS下的PHP环境
我用的是Windows server 2003+IIS 6.0+PHP,但刚开始用的PHP5.3,按照网上的方法http://www.gzu521.com/campus/article/network/200902/182924.htm一步步配置,但是结果运行出现了一个问题,就是The FastCGI Handler was unable to process the request.找了很多解决方法但是还是没有解决,最后我换成 ......