1

domain.comsub1.domain.com、およびsub2.domain.comがあります。sub1.domain.comのサイトからスクリプトを呼び出して、このようにdomain.comに Cookie を設定します

document.cookie = "KEY=Value; domain=.domain.com; path=/; expires=Thu, 01 Jan 2013 00:00:01 GMT";

ブラウザをチェックして、そのCookieを確認します。よく見てください。その後、sub2.domain.comにアクセスして、作成した Cookie を変更または削除します。

document.cookie = "KEY=Deleted; domain=.domain.com; path=/; expires=Thu, 01 Jan 1990 00:00:01 GMT";

しかし運が悪い、クッキーはまだそこにあり、価値は残っている. サブドメインからルート Cookie を削除するにはどうすればよいですか?

編集:

明確にするために、両方のドメインで認証するためにcitrixシングルサインオンを使用しています。.domain.com にログインするだけで、citric が残りを認証します。しかし、問題はサインアウトメカニズムがないため、Cookie をクリアすることにしました。ブラウザプラグインでクリアすると機能します。しかし、コード (javascript) に関しては機能しません。誰もこれを知っていますか

4

1 に答える 1

0

OK、私は問題を知っています! これらの Cookie は httponly Cookie です。つまり、javascript 経由でアクセスすることはできません。サーバー側でそれらを変更する必要があります

HttpCookie expiredCookie = new HttpCookie("CookieName");
expiredCookie.Expires = DateTime.UtcNow.AddDays(-1);
expiredCookie.Path = "/";
expiredCookie.Domain = ".domain.com";
Response.Cookies.Add(expiredCookie);
于 2012-12-16T04:45:57.540 に答える