1

こんにちは、.net Web アプリケーションで生成した Cookie を読み取り、php ページでそれを読み取る方法を見つけようとしています。ユーザーに一度ログインしてもらいたいのですが、 Cookie の有効期限が切れた場合、ユーザーは再度ログインする必要はありませんが、.net と php の両方の Web アプリケーションが別のサーバー上にあるため、この問題について助けてください。

4

4 に答える 4

4

あなたはそれについて言及します:

ただし、.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を読み取ることができるはずです。

于 2008-09-17T22:03:01.033 に答える
1

マシン上の 2 つのサーバーは同じドメイン内にありますか? その場合は、Cookie の範囲を FQDN ではなくドメインに設定する必要があります。その後、両方のマシンがそれらを読み取ることができます。

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

contoso.com、www.contoso.com、hotnakedhamsters.contoso.com などにアクセスを許可します。

于 2008-09-17T21:28:20.853 に答える
0

ブラウザに渡されたすべての Cookie は、リクエストを処理するサーバーによって読み取り可能になります --- それらは言語に依存しません。

PHP で $_COOKIE を試す

于 2008-09-17T21:26:06.740 に答える
0

サイトが同じ (例: www.example.com) である限り、Cookie はプラットフォームに依存しません。Todd Kennedy が言ったように、超グローバルな $_COOKIE を試してみてください。Cookie を読み取ることはできませんが、サイトが異なる場合、Cookie はサイト固有のものであり、この種のクロスサイト アクセスを防止します。

于 2008-09-17T21:28:15.797 に答える