您好我正在尝试找到一种方法来读取我在.net网络应用程序中生成的cookie,以便在php页面上读取,因为我希望用户登录一次,但他们应该能够查看.net和php页面,直到cookie过期,用户不需要再次登录,但.net和php web应用程序都在不同的服务器上,请帮我解决这个问题,谢谢
答案 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,则它们应该是特定于站点的,并阻止此类跨站点访问。