2011-12-13 4 views
7

https://sub1.domain.com에서 생성 된 쿠키를 http://origin.domain.com에서 ColdFusion을 사용하여 읽어야합니다. CFCOOKIE를 사용하여 하위 도메인에 쿠키를 만드는 방법에 대한 많은 정보를 보았지만 이미 존재하는 쿠키에 액세스하는 방법을 알지 못합니다.ColdFusion (HTTPS)에서 도메인 간 (교차 서브 도메인) 쿠키 읽기

어쨌든 HTTPS로 불가능합니까?

추가 : 아래의 확인 된 대답은 위에 나온 단어를 올바르게 나타냅니다. 제 경우에는 작동하지 않았습니다. 나는 설명해야만한다 : sub1.domain.com의 쿠키는 hosted third party 제품에 의해 만들어졌다. coldfusion으로 작성된 것이 아니고 나의 통제하에 있지 않다.

답변

6

정말 쉽습니다. 쿠키를 만들 때 도메인과 동일한 도메인 특성을 지정하십시오. 기억해야 할 중요한 부분은 앞에 점이 있어야한다는 것입니다.

<cfcookie name="mycookie" value="myvalue" domain=".mydomain.com" path="/" /> 

선행 점은 sub.mydomain.com 및 blah.mydomain.com 포함 할 것 mydomain.com의 하위 도메인에 쿠키를 보내도록 브라우저를 알려줍니다.

그런 다음 당신 다른 모든 쿠키로 하위 도메인의에서 쿠키에 액세스 할 수있을 것입니다 :

<cfset thevalue = cookie.mycookie /> 

당신은 오래된 브라우저를 지원하는 가장 좋은 방법은이 작업을 수행해야합니다. 여기

는 RFC2109에서 성명 : HTTP 상태 관리 메커니즘은 "이전 버전의 브라우저

에 영향을 미칠 수있는 가능한 보안 및 개인 정보 침해를 방지하기 위해 그, 사용자 에이전트 는 쿠키를 (그 정보를 저장하지 않는다) 경우 거부 ... 의 값은 Domain 특성에 포함 된 도트가 없거나 점으로 시작하지 않습니다. "

나는이는 RFC 2965에 우선 생각 : HTTP 상태 관리 메커니즘 선택 사양

"도메인 = 값을 명시하는 도메인 속성의 값은 도메인이있는 쿠키가 유효 를 지정합니다.. 명시 적으로 지정된 값이 점으로 시작하지 않으면 사용자 에이전트는 앞에 점을 제공합니다. "

다음은 아마도 최신 브라우저에서 작동하는 이유를 설명합니다. 나는 여전히 당신이 그것을 추가하는 것이 좋습니다.

+0

실제로, 나는 이것을 시도해 보았습니다 - 내가 할 때 앞선 점은 필요하지 않았습니다. –

+0

HTTPS는 HTTP 쿠키를 준비 할 수 있지만 그 반대의 경우는 없습니다. – Henry

+1

방금 ​​시도한 테스트는 두 가지 방식으로 진행되었습니다. 아마도 https로 제한하고 싶다면 secure = "true"로 지정할 수 있습니다. –