2010-07-19 102 views
4

我在覆蓋cookie值cross子域時出現問題,這是一個在www.domain.com上運行的ASP網站,以及運行在PHP中的移動網站,與m.domain.com共享相同的cookie通過在ASP創建www.domain.com如下覆蓋cookie失敗PHP&ASP跨子域

的Cookie:

Response.Cookies("cookie_name")="value1" 
Response.Cookies("cookie_name").Expires=DateAdd("m", 1, Date()) 
Response.Cookies("cookie_name").Domain = ".domain.com" 
Response.Cookies("cookie_name").Path = "/" 
Response.Cookies("cookie_name").Secure = false 

當我試圖覆蓋在PHP(m.domain.com)的值如下:

setcookie("cookie_name",'value2',time()+60*60*24*30, "/", ".domain.com",false); 

該執行回真實的,但是當我檢查Cookie值wasnt仍然改變「值1」

也曾經試圖通過頭設置

header("Set-Cookie: cookie_name=value2; path=/; domain=.domain.com; expires=".gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT",time()+60*60*24*30)); 

,但仍然沒有efects,任何想法?十分感謝。

回答

1

最後我做到了工作

header("Set-Cookie: cookie_name=value2; expires=".gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT",time()+60*60*24*30)."; path=/; domain=domain.com"); 

注意域部分(沒有點),希望這可以幫助別人

0

PHP和JavaScript有時不能一起工作,所以我認識到了這個問題。

我不知道你依賴於Javascript多少,但你可以用它來設置cookie值(echo-ing「document.cookie =」=; expires =; path =「;」)。

這很髒,但至少會有一個共同的分頻器擔心;不是兩個.....