문제

하위 도메인인 metric.foo.com에 대한 쿠키 세트가 있는 경우 www.foo.com에 대한 요청 시 metric.foo.com 쿠키를 삭제할 수 있는 방법이 있습니까?브라우저(적어도 Firefox)는 metric.foo.com 도메인의 Set-Cookie를 무시하는 것 같습니다.

도움이 되었습니까?

해결책

쿠키는 쿠키를 생성한 도메인에서만 읽을 수 있으므로 쿠키가 metric.foo.com에서 생성된 경우 생성된 도메인과 동일한 도메인에서 삭제되어야 합니다.여기에는 하위 도메인이 포함됩니다.

metric.foo.com에서 쿠키를 삭제해야 하지만 현재 www.foo.com에서 페이지를 실행 중인 경우에는 삭제가 불가능합니다.

이렇게 하려면 metric.foo.com에서 페이지를 로드하거나 foo.com에서 쿠키를 생성하여 모든 하위 도메인에서 액세스할 수 있도록 해야 합니다.또는 이것을 사용하십시오:

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

...생성하는 동안, 그리고 삭제하기 전.

..테스트되지 않음 - 작동해야 합니다.

다른 팁

하위 도메인에서도 동일한 문제가 발생했습니다.어떤 이유로 요청에서 먼저 쿠키를 가져오는 것이 작동하지 않았습니다.대신에 나는 동일한 쿠키 이름과 과거 만료 날짜를 가진 새로운 쿠키를 만들었습니다.완벽하게 작동했습니다.

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