IT TIP

Internet Explorer는 일부 도메인의 쿠키를 무시합니다 (쿠키를 읽거나 설정할 수 없음)

itqueen 2020. 12. 2. 22:21
반응형

Internet Explorer는 일부 도메인의 쿠키를 무시합니다 (쿠키를 읽거나 설정할 수 없음)


예를 들어 example.com사용자가 자신의 하위 도메인 (사용자 1 명-하위 도메인 1 개)을 설정하고 자신의 스크립트를 업로드 할 수 있는 사이트 http://somedomain.example.com/xyzzy.php가 있습니다./www/somedomain/xyzzy.php

이제 일부 도메인에서 Internet Explorer 7은 쿠키를 허용하지 않거나 허용하지 않습니다. Fiddler로 확인 : 서버가 Set-Cookie 응답을 올바르게 보내지 만 JS 또는 개발자 도구의 경우 쿠키가 IE에 표시되지 않습니다. 요청시 IE7은 쿠키 헤더도 보내지 않습니다.

쿠키는 사용자 도메인 (예 :)에 대해 설정 somedomain.example.com되고 경로는입니다 /. 시도 된 다른 만료 옵션 (과거, 미래, 현재, "0")은 HttpOnly가 아니고 안전하지 않습니다.

FF, Opera, Safari 및 Chrome은 모두 문제없이 작동합니다.

IE가 쿠키를 무시하는 이유는 무엇입니까?


하위 도메인 중 하나가 밑줄을 사용합니까? IE는 URI RFC를 따르지 않는 하위 도메인의 쿠키를 수락하는 데 문제가 있습니다 .


RFC1035 (도메인 이름-구현 및 사양) 에 따르면 :

[도메인 이름]은 문자로 시작하고 문자 또는 숫자로 끝나야하며 내부 문자로 문자, 숫자 및 하이픈 만 포함해야합니다.

일부 도메인에는 밑줄 ( "_")이 있습니다 some_domain.example.com.. 이는 RFC 위반이지만 다른 모든 브라우저는 정상적으로 작동합니다.

밑줄이있는 도메인에서 MSIE 7은 해당 호스트에 대한 모든 쿠키를 자동으로 삭제하고 새 쿠키를 거부합니다.

유일한 해결책은 RFC 호환 도메인을 사용하는 것입니다 (모든 "_"를 "-"로 바꾸고 트래픽이 호환 도메인으로 리디렉션되도록 RewriteRule을 설정했습니다).


이 문제는 도메인 이름의 밑줄뿐만 아니라 숫자로 시작하는 도메인 이름에도 적용됩니다. 따라서 1aaaaaaa.tld실제로는 비표준 도메인 이름이므로 IE가 쿠키를 거부합니다.

을 사용하여 문제를 해결 www2.1aaaaaaa.tld한 다음에서 1aaaaaaa.tldwww.1aaaaaaa.tld호스트에 대한 재 작성 규칙을 추가 합니다 .htaccess. 이것이 실제로 표준 준수 솔루션으로 적합한 지 모르겠지만 어쨌든 쿠키 문제를 해결 한 것 같습니다.

누군가에게 도움이되기를 바랍니다!

참고 URL : https://stackoverflow.com/questions/794243/internet-explorer-ignores-cookies-on-some-domains-cannot-read-or-set-cookies

반응형

'IT TIP' 카테고리의 다른 글

CURRENT_TIMESTAMP (밀리 초)  (0) 2020.12.02
PHP 대 템플릿 엔진  (0) 2020.12.02
하위 문자열 발생을 계산하는 방법은 무엇입니까?  (0) 2020.12.02
PHP 날짜 ();  (0) 2020.12.02
도구 모음 아래 탐색 창  (0) 2020.12.02