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

时间:2020-03-05 19:00:06  来源:igfitidea点击:

嗨,我正在尝试找到一种方法来读取我在.net Web应用程序中生成的cookie以便在php页面上进行读取,因为我希望用户登录一次,但他们应该能够查看.net和php页面,直到Cookie过期,用户无需再次登录,但是.net和php Web应用程序都位于不同的服务器上,请为我解决此问题,谢谢

解决方案

回答

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

在PHP中尝试$ _COOKIE

回答

只要网站是相同的(即www.example.com),Cookie就与平台无关。正如Todd Kennedy所说的,尝试超级全局$ _COOKIE。如果站点与其他站点不同,尽管我们将无法读取Cookie,则应将其视为特定于站点的站点,并阻止此类跨站点访问。

回答

机器上的两个服务器是否在同一域中?如果是这样,则应将cookie范围设置为域而不是FQDN;然后两台机器都将能够读取它们;

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

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

回答

我们提到:

but both .net and php web applications are on different servers

两个应用程序都使用相同的域名运行吗? (即:www.mydomain.com)还是它们位于不同的域?

如果它们在同一个域中,则可以使用$ _COOKIE变量来完成我们在PHP中要执行的操作。只需通过以下方式获取cookie的值

$myCookie = $_COOKIE["cookie_name"];

然后,我们可以使用$ myCookie的值做任何我们想做的事情。

但是,如果它们位于不同的域(即foo.mydomain.com和bar.mydomain.com)上,则无法从这两个站点访问cookie。 Web浏览器只会将cookie发送到设置了cookie的域上的页面。但是,如果最初将Cookie设置为仅具有顶级域(mydomain.com),则子域(anything.mydomain.com)应该能够读取Cookie。