本文目錄一覽:
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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/288754.html