2014-08-27 3 views
0

우리는 추적 용도로 쿠키를 사용하는 사이트를 운영하고 있습니다. 이제 우리는 사이트의 도메인을 변경하려고 생각하고 있지만 이전 도메인에서 사용자의 세션을 계속 인식하려고합니다. 이것이 가능한가?사이트의 도메인을 변경하면 쿠키는 어떻게됩니까?

+0

다음과 같은 헤더 새 도메인 서버에 추가 도메인 간의 세션을 공유 할 수 있습니다 CORS으로

사용자 브라우저는 이전 도메인의 쿠키를 새 DOM으로 보내지 않습니다. 아인. –

답변

1

다른 도메인에 속한 쿠키는 검색 할 수 없습니다. 해결 방법 (기존 도메인을 계속 사용할 수있는 경우). 안에 iframe을 작성하여 http://olddomain.com에서 쿠키를 가져 와서 postMessage를 통해 부모에게 보낼 수 있습니다.

+0

매우 흥미로운 해결 방법입니다 – fguillen

0

쿠키는 동일한 원본 정책의 영향을 받지만 CORS (원본 교차 리소스 공유)로 무시할 수 있습니다.

CORS는 브라우저와 서버 간의 연극입니다. 기본 아이디어는 도메인을 교차하는 AJAX 요청을 허용하지만 쿠키를 공유하는 데 사용할 수 있습니다 (보안 조치를 취해야 함).

브라우저가 Origin 헤더로 요청을 보냅니다. 서버가 요청을 허용하면 Access Control-Allow-Origin 헤더에 origin 값으로 응답합니다. 서버가 헤더로 응답하지 않거나 Origin이 Access-Control-Allow-Origin 브라우저와 일치하지 않으면 요청이 허용되지 않습니다.

하지만 기본적으로 쿠키를 보내지 않습니다 ("allow-credentials"여분의 헤더를 추가해야합니다). CORS에 대한

Access-Control-Allow-Origin: https://original-domain.com 
Access-Control-Allow-Credentials: true 

상세 정보 :

+0

서버 구성이 소유하지 않은 도메인으로 쿠키를 보내는 브라우저에 어떤 영향을 줄 수 있는지는 알 수 없습니다. 이것은 매우 보안 문제가 될 것입니다. – fguillen

+0

@fguillen 보안 정보 [Stackoverflow] (http://goo.gl/Zsrl0o) 또는 [OWASP] (http://goo.gl/36PaEO)에서이 링크를 읽을 수 있다고 생각합니다. – rgo

+0

전체 ** CORS **는 브라우저가 인증되지 않은 서버 리소스에 액세스하는 것을 방지하는 시스템입니다. 그러나 쿠키 컨텍스트에서 보안 문제는 다른 방향입니다. ** CORS ** 구성을 이해하면 다른 도메인 아래의 사이트에서 _original-domain.com_ 도메인으로 쿠키를 보내도록 제안합니다. 하지만 _original-domain.com_ 도메인 소유의 쿠키를 보내고 다른 도메인의 쿠키는 보내지 않을 것입니다. 다른 도메인에서 호스팅되는 사이트의 한 도메인에서 소유 한 쿠키를 잡으려고합니다. – fguillen

관련 문제