Re: [請益] 關於php讀取cookie的問題

看板PHP作者 (請勿忘記密碼)時間19年前 (2006/03/12 02:17), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《misatocat (天使級廢材!)》之銘言: : srand((double)microtime()*1000000); //亂數的產生 : $randvalue = rand(); : setcookie ("id", $randvalue,time()+365*24*60*60); : 這邊是我cookie產生的機制,在最後一行,我的cookie沒什麼限制 : 之後,我在同一台主機兩個不同的帳號放置了網頁和執行 : 也就是 http://XXX/~a/cookie.php : http://XXX/~b/cookie.php : 理所當然 會產生/~a 名為"id"的cookie : /~b 名為"id"的cookie : 我想請問的是 如果我在同一台主機不同帳號想讀取上列特定的cookie可行嗎? : 像是 /~c/loading.php 這支程式想去讀取/~b/cookie.php所產生的cookie : 還蠻煩腦的,先謝謝各位的解答 首先要了解的是,cookie資料是儲存在瀏覽器端(有設定到期時間的,會存在 使用者的硬碟裡,沒有設定到期時間的,就只存在使用者的記憶體中,瀏覽器 關閉就會消失),而不是存在伺服器端。程式讀不讀得到某個cookie資料, 要看瀏覽器有沒有傳送這項資料給伺服器,瀏覽器不傳送過來,程式在伺服器端 什麼也找不到。 而瀏覽器在向伺服器請求頁面的時候,會看幾項條件來決定是否要一併傳送某些 cookie資料給伺服器,其中一項資料就是cookie的網域。瀏覽器不會將A網域的 cookie傳送給B網域(Yahoo的程式讀取不到eBay傳給我的cookie,要是讀得到 那可就天下大亂了)。然而如果兩個cookie的網域名稱相同,瀏覽器就會傳送給 伺服器。因此依照你的狀況,是可以讓/~c/loading.php讀取得到/~b/cookie.php 所建立的cookie,只要在/~b/cookie.php傳送cookie的時候,注意兩件事情: 1.cookie的網域(domain)設定為兩個程式共有的網域名稱。 2.cookie的路徑(path)設定為/。不這樣設定的話,/~a/路徑下的程式讀取不到  /~b/路徑的程式建立的cookie。 至於如何設定cookie的網域與路徑,請找php使用手冊。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.153.37

03/12 16:42, , 1F
果然是要從路徑下手 謝謝了
03/12 16:42, 1F

03/13 19:41, , 2F
網域可以存localhost嗎?
03/13 19:41, 2F
文章代碼(AID): #144nGmRP (PHP)
討論串 (同標題文章)
文章代碼(AID): #144nGmRP (PHP)