質問

サブドメイン metric.foo.com に Cookie が設定されている場合、www.foo.com へのリクエストで metric.foo.com Cookie を削除する方法はありますか?ブラウザ (少なくとも Firefox) は、metric.foo.com のドメインを持つ Set-Cookie を無視するようです。

役に立ちましたか?

解決

Cookie は、Cookie を作成したドメインでのみ読み取ることができるため、Cookie が metric.foo.com で作成された場合は、作成されたときと同じドメインで削除する必要があります。これにはサブドメインも含まれます。

metric.foo.com から Cookie を削除する必要があるが、現在 www.foo.com でページを実行している場合は、削除できません。

これを行うには、metric.foo.com からページをロードするか、foo.com の下に Cookie を作成して、どのサブドメインでもアクセスできるようにする必要があります。または、これを使用します:

Response.cookies("mycookie").domain = ".foo.com"

...作成中、かつ削除前。

..未テスト - 動作するはずです。

他のヒント

サブドメインでも同じ問題がありました。何らかの理由で、リクエストから最初に Cookie を取得することができませんでした。代わりに、同じ Cookie 名と過去の有効期限を持つ新しい Cookie を作成することになりました。それは完璧に機能しました:

void DeleteSubdomainCookie(HttpResponse response, string name)
{
    HttpCookie cookie = new HttpCookie(name);
    cookie.Expires = DateTime.Now.AddMonths(-1);
    cookie.Domain = ".yourdomain.com";
    response.Cookies.Add(cookie);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top