2009-05-13 6 views
0

난 내가 AJAX 또는 숨겨진 iframe이로를 사용할 수 있는지 궁금하네요다른 도메인에 쿠키를 복제

을 example2.com로 마이그레이션하고 싶다고 example.com에 사용자 환경 (색, 로케일 설정)을 가지고 example.com에서 example2.com으로 쿠키 정보를 전달한 다음 example2.com에서 동일한 정보를 가진 다른 쿠키를 설정합니다.

URL 문자열과 리디렉션을 통해 쉽게이 작업을 수행 할 수 있음을 알고 있지만 가능한 경우 백그라운드에서이를 수행하고 싶습니다. 리디렉션 없음 - 주요 브라우저 (IE6 +, FF1.5)에서 작동해야합니다. +, Safari, Opera)

포인트는이 쿠키 정보가 안전하지 않으므로 위험하지 않습니다.

답변

1

설정에 전달 된 쿠키를 포함하는 자바 스크립트 파일을 생성 example.com의 경로. 그들은 example.com/get_cookie.js 다음

당신이 예에 example2.com에서 Ajax 호출을 할 수 말할 수 있습니다 .com/get_cookie.js를 사용하여 쿠키를 가져 와서 example2.com에 저장하십시오.

크로스 도메인이기 때문에 XHR (XmlHttpRequest)을 사용할 수 없으며 대신 get_cookie.js를 자바 스크립트 노드로 추가하고 자바 스크립트 파일은 데이터를 전달하기 위해 콜백을 호출해야합니다 . 당신은 서버 간 XMLHTTP 요청을해야하고, 두 번째 서버가 쿠키를 다시 것

return_data('here is my example.com cookie info'); 
+0

좋은 아이디어 - 감사합니다. – stunnaman

2

브라우저가 운이 좋지 않은 타사 쿠키를 거부하도록 구성되어있는 경우 브라우저의 설정에 따라 다릅니다.

example.com을 제어하고 쿠키가 HTTP 전용 쿠키가 아니라고 가정하면 스크립트를 추가 할 수 있습니다. 스크립트는 document.cookies를 매개 변수로 사용하여 example2.com의 스크립트를 가리키는 img 태그를 작성합니다. 스크립트 내에서 1x1 투명한 gif를 작성하고 예제에서 응답에 쿠키를 첨부하여 매개 변수 문자열을 구문 분석하여 쿠키 이름/값 쌍을 추출합니다.

+0

감사가, - 실제로 일부 스크립트를로드 1x1.gif 쿠키 값이 1 × 요청과 함께 전송됩니다 (example2.com/1x1.gif?setting1=this&setting2=this)하는 example2.com에서 생성 된 쿠키를 설정합니다. 브라우저가 허용합니까? – stunnaman

+0

타사 쿠키를 허용하도록 구성되어있을 수 있습니다. 대부분은 기본적으로 (IE는 p3p 정책을 필요로하지만). 스크립트가 스크립트를 반환하지 않고 올바른 이진 GIF를 반환하지만 자체 쿠키에 대한 쿠키 헤더도 추가합니다. – blowdart

0

:

그래서 get_cookie.js처럼 뭔가를해야만 보일 것이다. 당신은 그들을 "지나칠"수 없습니다.

관련 문제