2011-03-31 2 views
2

내 사이트의 로그인이 IE8에서 계속 작동하지 않는 문제가 발생했습니다. Firefox/Chrome/Safari에서는 제대로 작동하지만 IE8에서는 작동하지 않습니다.IE8 항상 쿠키 값을 편집하지 않습니다

처음 로그인 할 때마다 문제가 없습니다. 로그 아웃 한 후 다시 로그인하려고하면 잠시 동안 실패합니다. 인증 후에 로그인 페이지로 리디렉션됩니다.

그래서 인증은 true를 반환, 성공,하지만 IE8은 우리가 반환하여 설정 한 세션 ID의 새 값 수락하지 않는 것 같다

설정 - 쿠키 SESSIONID을 = ....... .; 응답 헤더에 경로//

그러나 명백하게 이것은 명확한 캐시와 함께 작동하고 나는 괜찮아 질 수 있습니다. 하지만 이미 거기에 그것을 재설정하지 못했습니다, 그래서 인증 후 새 페이지로 이동하려고하면 이전 세션 ID가 브라우저에서 보내지고 로그인 페이지로 리다이렉트됩니다.

여기 (캐시를 지우는 것 외에는) 실제로이 문제를 해결하지 못했습니다. IE8 쿠키 문제에 대한 대부분의 언급은 언어/프레임 워크 특정이며이 문제에 대답하지 않습니다.

이 작업을 수행하려면 설정 쿠키와 관련하여 특별한 것이 있습니까?

업데이트 :

나는 모든 쿠키를 허용하기 전에 확인하도록 IE8을 설정했습니다. 로그인이 정상적으로 작동하면 예상대로 프롬프트됩니다.

내가 쿠키가 아약스 호출 후에 설정 될 것으로 예상된다 언급해야

:

작동하지 않는 경우

업데이트 2 .. 쿠키를 제외시켰다 심지어 프롬프트가없는

$ .get (authenticate_url, ....)

url이 응답을 요청하면 세션 ID를 설정하는 헤더가 반환되고 콜백 함수에서 사용자가 기본 페이지로 리디렉션됩니다. 성공했습니다.

답변

1

자사 쿠키 또는 타사 쿠키입니까? 후자의 경우 P3P 헤더를 보내고 있는지 확인하십시오. HTTPOnly 특성을 설정하고 있습니까? 쿠키의 도메인이 항상 동일합니까? 예 : "example.com"을 방문 할 때 쿠키를 설정하고 "www.example.com"에서 쿠키를 변경하려고하면 문제가 발생합니다.

+0

나는 set-cookie에 직접 도메인을 설정하지 않습니다. 그럼 첫 파티 쿠키가 될거야, 그렇지? HTTPOnly을 설정하지 않습니다. –

+0

그리고이 시나리오에서 사용자가 "example.com"에서 "www.example.com"으로 이동하지 않는다는 것을 확인하셨습니까? – EricLaw

+0

예. 아아, 15자를 타이핑하게 만들었지?! 나는 그것이 "그렇다"라고 생각하지 않는 이유를 알 수 없었다. 하하,이 문제는 무엇입니까? :) –

1

쿠키가 www.example.comexample.com으로 설정된 경우 비슷한 증상이 나타납니다. 명시 적으로 설정된 도메인이 없으면 세션 쿠키가 둘 다 설정됩니다.

그러나 상위 도메인 쿠키는 하위 도메인보다 우선합니다. 따라서 www.example.com이 쿠키를 설정하려고 시도했지만 example.com에 이미 쿠키가있는 경우 example.com 쿠키가 그대로 유지되고 www.example.com에 계속 적용됩니다.

이 문제에 접근하는 데는 두 가지 방법이 있습니다. 하나는 www 하위 도메인 사용 여부에 관계없이 액세스를 허용하지 않는 것입니다. 하나를 다른 방향으로 리디렉션하십시오. 두 번째는 명시 적으로 쿠키 도메인을 설정하여 두 버전이 주위에 있지 않도록하는 것입니다.

물론, 실제로 문제가되지 않을 수도 있습니다. 실험하고 알아 내십시오 :)

+0

도메인이 실제로 내 테스트 환경의 IP로 설정되어 있으므로 쿠키의 '도메인'은 변경되지 않지만 그와 관련된 다른 문제가있을 수 있습니까? –

관련 문제