2010-04-15 57 views
0

我有以下問題 - 第三方軟件正在使用登錄憑據設置cookie,然後將用戶轉發給我的應用程序。我現在需要檢索的cookie的值:PHP檢索未使用setcookie設置的Cookie

的問題是 - 我可以很容易地在前端/ AS3與

var ticket : String = CookieUtil.getCookie('ticket').toString(); 

但在PHP中做到這一點,cookie是不是$ _COOKIES陣列內。

Cookie值是:

Name: ticket 
Domain: .myserver.com 
Path :/
Send for: encrypted connections only 
Expires: at end of session 

一個我看到,在PHP之前設置是:

Name: myCookie 
Host: myserver.com 
Path :/
Send for: any type of connection 
Expires: at end of session 

實際上,因爲主機/域都是一樣的,它應該是在PHP腳本中可見,因爲它在這個域上運行。

有什麼想法? Thankx

Martin

+0

我剛剛發現:我的前臺和後臺之間的連接是通過HTTP,也許運行這可能是爲什麼第一個只能發送給安全連接的原因是不可見的? 我會給它一個鏡頭,但我認爲安全的東西只適用於瀏覽器中的URL,而不是前端/後端通信 – Martin 2010-04-15 10:52:54

+0

有什麼區別?你的前臺/後臺通信使用什麼協議? FTP? – 2010-04-15 10:57:00

+0

前端在HTTPS(Flex)上運行,並且它與HTTP中的後端進行通信(僅用於登錄,我們使用HTTPS) – Martin 2010-04-15 10:58:18

回答

1

請問這是域的子域問題嗎?我的意思是www.myserver.com不是'under'.www.myserver.com ...?

該Cookie應該域設置爲「.myserver.com」

目前拿到這個cookie的唯一方法是有一個腳本在「.www.myserver.com」喜歡「app.www生活.myserver.com「

編輯:OP有一個錯字。但是,「.myserver.com」的域名爲「myserver.com」成員的Cookie是什麼?

+0

啊,我很抱歉,那是我的錯誤。編輯我的問題。這當然是.myserver.com和myserver.com – Martin 2010-04-15 10:44:21

0

有什麼想法?

其實,cookie不是文本文件。但僅僅是HTTP頭。
因此,要查看真正的cookie,必須觀看HTTP交換日誌,而不是客戶端PC上的文件。
我確定看HTTP日誌會帶來一些情況。它可以是多種方式的圓頂,例如LiveHTTPheaders mozilla插件。

CookieSet-Cookie標題都要計數。

1

我不知道這是否可以對您有用,但是,PHP手冊(cookie section)狀態:

從客戶端發送給您的任何餅乾將被自動納入一個 $ _COOKIE自動全局array 如果variables_order包含「C」

您應該檢查php config variables_order指令,以便舒服地設置Cookie標誌。

+0

這是令人難以置信的情況。我從來沒有見過這樣的設置的PHP安裝。 – 2010-04-15 10:51:00

+0

我也是,但如果安裝配置錯誤的可能性很小,如手冊所述,或許值得深入檢查 – Eineki 2010-04-15 11:29:51

+0

順便說一下,您的推測似乎對我來說是正確的 – Eineki 2010-04-15 11:31:33

1

ahahah明白了!$ _COOKIE不是$ _COOKIES :)

得到一個習慣,在PHP編程與error_reporting(E_ALL)報告級別,以避免這種愚蠢的錯誤

+0

您是如何解釋這一點的?你坐在他旁邊? – zaf 2010-04-15 10:51:04

+0

我看了他的問題:) – 2010-04-15 10:54:59