Sessões perdidas no Internet Explorer

02 de Maio de 2009 às 10:04 Rodrigo Menezes Geral Sem comentários

Se alguém ai tentou trabalhar com sessões usando frames com domínios/servidores diferentes, deve ter percebido que o Internet Explorer "mata" as sessões.

Na verdade o que ocorre é que desde o IE6 ele tem um controle de privacidade maior, e por isso se você criar uma sessão dentro de um frame/iframe, cujo arquivo está em outro servidor, o IE entende que isso pode ser uma tentativa de fraude.

Para resolver isso, é necessário informar ao IE um cabeçalho, que basicamente diz "pode deixar, tá tudo ok". Para usar com PHP basta:

header('P3P: CP="CAO PSA OUR"');


Pronto. Isso dai é o suficiente para contornar o problema, basta colocar ele na primeira página onde as sessões são criadas, a partir disso o IE vai entender que é pra manter tudo.

Apenas a título de curiosidade, o P3P (Privacy Preferences Project) ali de decima significa:

- CAO: Seu site te da acesso apenas para suas informações;
- PSA: Os dados obtidos são apenas analizados online e não fisicamente;
- OUT:Os dados não vão ser repassados para outras empresas.

Comentar:

Atenção: Todos os comentários são moderados, por isto não perca seu tempo postando bobagens ou spam.