2010-05-07 7 views
1

PHP를 통해 쿠키를 지우는 이상한 문제가 있습니다. 나는 재 방문의 다음 시간에 사용자 로그인을 식별하는 문자열을 포함하는 "USER_INFO"와 같은 쿠키 이름 "사용자 로그인을 기억"저장 도메인 neobie.net 이있는 경우이상한 쿠키 오류 문제

말할 수 있습니다.

firefox를 사용 중일 때, 쿠키 2 개 (USER_INFO, 도메인 "www.neobie.net"및 ".neobie.net") 만료일이 1 주 후에 표시됩니다.

나는 USER_INFO 쿠키가 완전히 다른 도메인에 대한 취소되었는지 확인하기 위해 다른 도메인 (.neobie.net, www.neobie.net, neobie.net)의 쿠키를 지우 logout.php 스크립트를 썼다.

지금 문제가 있습니다. 사용자 방문 logout.php

내가 ".neobie를 떠나, 내가 수동으로"www.neobie.net "도메인과 쿠키를 삭제해야 할 것을 알았을 때 사용자는 쿠키를 취소 할 수 없습니다 .net "그대로 유지하면 쿠키 만 지울 수 있습니다.

그래서 ".neobie.net"에서 setcookie USER_INFO로 PHP 스크립트를 만들고 "www.neobie.net"에서 쿠키를 설정하여 logout.php 스크립트가 작동하지 않도록해야합니다.

하지만 위해 쿠키를 취소 할 수없는 이유를 이해하지 않는다 "www.neobie.net"(와 WWW를 선도., 파이어 폭스와 크롬에서 테스트)

답변

1

당신은 중복 쿠키 도메인을 가지고있다. www.neobie.net은 .neobie.net에 설정된 쿠키를 받게됩니다. 따라서 두 도메인 모두에서 동일한 쿠키를 설정할 필요가 없습니다.

로그 아웃 URL이 http://www.neobie.net으로 시작하는 경우 www.neobie.net 도메인에서 쿠키를 삭제할 수 있습니다. HTTP 헤더 추적이 도움이 될 것입니다.

+0

그래, www.neobie.net 도메인 .neobie.net에 대한 쿠키 집합을받을 수 있지만 일부 스크립트 부주의로 인해, 나는 setcookie() 따라서 도메인 www.neobie.net 도메인 쿠키를 지정하지 않았다는 것을 이해합니다. 설정됩니다. 이제 쿠키가 www.neobie.net 인 경우에도 쿠키를 지우는 방법을 알고 싶습니다. 사실, www.neobie.net에서 로그 아웃했지만 www.neobie.net 도메인 쿠키는 단순히 지울 수 없습니다. – neobie