2010-04-15 55 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