2012-08-13 2 views
6

여러 하위 도메인에 쿠키를 공유하는 방법을 찾으려고했습니다.선택 하위 도메인에서 동일한 쿠키 사용

같은 쿠키를 설정 :

setcookie('token', base64_encode(serialize($token)), time()+10800, '/', '.mydomain.com'); 

것은 정확히 않습니다. 그러나 여기에는 약간의 문제가 있습니다. 이렇게하면 모든 하위 도메인에서 쿠키가 공유됩니다.

제 문제는 다른 환경 (개발 및 테스트)이 2 개의 하위 도메인에 설정되어 있다는 것입니다. "선택적인"하위 도메인에서 쿠키를 공유 할 방법을 찾고 있습니다. 즉 일부 하위 도메인을 공유하고 다른 사람들과 공유하지 않아야합니다. 나는 이와 같은 것이 있는지 확신 할 수 없다.

도움을 주시면 감사하겠습니다. 감사합니다. .

+0

쿠키 이름에 접두사를 추가하기 만하면됩니다. dev_token, prod_token, 무엇이든지 필요합니다. – Tchoupi

+1

나는 원하는 것을 정확하게하기위한 해결책이 존재하지 않는다고 생각합니다. 할 수있는 일은 모든 하위 도메인에서 쿠키에 액세스하지 못하도록 보호하는 것입니다. 쿠키를 어떻게 든 인코딩 할 수 있으며 선택적인 하위 도메인 키를 사용하여 쿠키를 다시 디코딩 할 수 있습니다. 또는 동시에 필요한 각 도메인에 대해 쿠키를 명시 적으로 설정할 수 있습니다. 당신이 코드에서 같은 장소에 dev_cookie와 test_cookie를 설정하는 것처럼. – zysoft

+1

내가 아는 한 다른 사람들이 언급했듯이 이것은 불가능합니다. 유일한 해결책은 그것들을 다르게 명명하는 것입니다. dev 환경에 대해 다른 도메인을 얻지 않는 한, 이는 다소 많은 것 같습니다. – diggersworld

답변

0

그것에 대해 많은 연구를하고 위에 게시 된 모든 가치있는 의견을 읽은 후에는이 문제에 대한 직접적인 해결책이 없다고 생각합니다.

나는 아드 Hingert가 제공하는 솔루션으로 갈 수 있지만, 추가로 검사 때마다 사용자가 제공됩니다 의미 할 것입니다.

내가 내 dev에 및 테스트 환경을 이동하는 것 외에 다른 옵션 왼쪽 짐작한다 다른 도메인으로

많은 의견을 보내 주셔서 감사합니다.

1

내가 아는 한 '.mydomain.com'을 사용하여 모든 하위 도메인을 공유 할 수도 있고, 특정 '하위 도메인'만 타겟팅해야 할 수도 있습니다 (예 : '테스트'). mydomain.com '.

쿠키 이름의 접두어를 붙인 다음 논리 서버 측을 수행하는 것과 같은 몇 가지 트릭이나 해결 방법을 사용할 수도 있지만,이 해결책이 필요한지 확실하지 않습니다.

0

속성 domain=.example.com은 특히 모든 하위 도메인에서 쿠키를 사용할 수 있도록합니다. 해당 속성을 삭제하면 설정 한 하위 도메인에서만 쿠키를 읽을 수 있습니다.

정말 쉽습니다.

관련 문제