在php页面中传递或阅读.net cookie

时间:2008-09-17 21:24:00

标签: .net php cookies asp.net

您好我正在尝试找到一种方法来读取我在.net网络应用程序中生成的cookie,以便在php页面上读取,因为我希望用户登录一次,但他们应该能够查看.net和php页面,直到cookie过期,用户不需要再次登录,但.net和php web应用程序都在不同的服务器上,请帮我解决这个问题,谢谢

4 个答案:

答案 0 :(得分:3)

你提到:

  

但.net和php Web应用程序都在不同的服务器上

两个应用程序是否在同一域名下运行? (即:www.mydomain.com)或他们在不同的域名?

如果它们位于同一个域中,那么您可以使用$ _COOKIE变量执行您在PHP中尝试执行的操作。只需通过

获取cookie的值
$myCookie = $_COOKIE["cookie_name"];

然后你可以用$ myCookie的值做任何你想做的事。

但如果他们在不同的域(即:foo.mydomain.com和bar.mydomain.com),则无法从两个站点访问cookie。 Web浏览器仅向设置cookie的域上的页面发送cookie。但是,如果您最初只使用顶级域名(mydomain.com)设置cookie,则子域(anything.mydomain.com)应该能够读取cookie。

答案 1 :(得分:1)

计算机上的两台服务器是否在同一个域中?如果是这样,你应该将cookie范围设置为域而不是FQDN;然后两台机器都能读出来;

Response.Cookies["domain"].Domain = "contoso.com";

允许contoso.com,www.contoso.com,hotnakedhamsters.contoso.com等访问它。

答案 2 :(得分:0)

任何提供给浏览器的cookie都可以被处理请求的服务器读取 - 它们与语言无关。

在PHP中尝试$ _COOKIE

答案 3 :(得分:0)

只要网站相同(即www.example.com),cookie就是平台无关的。正如托德肯尼迪所说,尝试超级全球$ _COOKIE。如果您的站点不同但您无法读取cookie,则它们应该是特定于站点的,并阻止此类跨站点访问。