Cookies entre subdomínios e hosts
No aplicativo que estou escrevendo usando uma combinação de ambientes e idiomas de desenvolvimento, preciso acessar um cookie de dois subdomínios diferentes, cada um em um host separado.
O cookie está sendo definido emwww.mydomain.com
usando o código PHP a seguir e estou tentando acessá-lo emdistant.mydomain.com
em um host separado.
setcookie('token', base64_encode(serialize($token)), time()+10800, '/', '.mydomain.com');
Estou tentando acessar o cookie dedistant.mydomain.com
usando o seguinte código:
if (isset($_COOKIE['token'])) { /* do stuff */ }
O problema:distant.mydomain.com
não está encontrando o cookie. oif
A declaração mencionada retornará false, mesmo que o cookie exista.
Eu verifiquei que o cookie definido é paramydomain.com
(verificando meus cookies do Firefox). Não consigo pensar em nenhuma razão para isso não estar funcionando.
Usando o mesmosetcookie
código, eu tenho um aplicativo antigo executando exclusivamente nowww.mydomain.com
host e esse aplicativo pode acessar o cookie entre domínios. Isso me faz suspeitar que o problema esteja relacionado a hosts separados.
Caso alguma das informações a seguir seja pertinente:
- www.mydomain.com
é IIS 6.0
- distant.mydomain.com
é o Apache 2.2.9
- Ambos os servidores usam PHP 5.2.x
- Ambos os servidores estão operando no Windows Server 2003
Se houver mais informações que eu possa fornecer para melhor descrever o problema, entre em contato!