本文目录一览:
PHP cookie跨域问题
注意你是否设置了setcookie函数的$domain参数。如果内网域名和你设置的不一样,就无法读取cookie。但cookie是能写进去的。
如果你用火狐浏览器,使用右键-查看页面信息-安全 来查看cookie内容。看看你的问题出在哪里。
PHP 设置跨域 域名cookie
理论上php不可以跨域设置cookie;
php设置cookie流程:返回的信息携带信息,然后靠浏览器来执行写入到cookie,一般浏览器安全机制已经限制跨域写入;
如果你想伪造cookie,可以使用浏览器管理cookie的插件
php可不可以跨域设置cookie(只有一个网站是我做的情况下)
var xmlHttp;
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
xmlHttp=new XMLHttpRequest();
} catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}return xmlHttp;
}
试试这个,因为你只考虑了IE浏览器,没有考虑其他浏览器兼容
还有,JS可以操作cookie的,没必要到php文件里去做,这样浪费效率。
试试这三个函数
function setCookie()
{
if(arguments.length==2)
{
var name=arguments[0];
var value=arguments[1];
var Days = 1;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000/2);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/";
}
else if(arguments.length==3)
{
var name=arguments[0];
var value=arguments[1];
var Seconds = arguments[2];
var exp = new Date();
exp.setTime(exp.getTime() + Seconds*24*60*60*1000/2);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/";
}
else
{
alert("操作错误!");
}
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString()+";path=/";
}
分别是设置,获取,删除,看得懂吧?
php跨域cookie共享使用方法
这篇文章主要介绍了php跨域cookie共享使用方法,需要的朋友可以参考下
A
机器所在的域:a1.main.com,A
有应用
main.php
B
机器所在的域:b1.test.com,B
有应用
test.php
1.在
main.php
里设置
cookie
的时候,
cookie
的设置方法如下:
代码如下:
setcookie(
"TestCookie",
"okol",
time()
+
3600,
"/",
"b1.test.com",
1
);
这样在
test.php
里就可以取到
cookie
。
2.输入
url
访问
test
的时候,必须输入域名才能解析。
比如输入:
,可以获取
cas
在客户端设置的
cookie
,
而
B
机器访问本机的应用,输入:
则不可以获得
cookie