IE Problemas com cookies dentro de iframe (facebook)

Introdução

Tive um problema um tanto quanto curioso. Após criar uma app no facebook e usá-la dentro de um Page Tab, que permite acessar a app dentro de uma fan page do facebook, tive um problema de acesso dentro da aplicação após a criação da sessão do facebook. O problema ocorre somente no IE, com a página da app sendo carregada dentro de um iframe. Na página inicial, após realizado o login no facebook, a aplicação direciona o usuário para uma página interna, onde somente usuários autenticados podem ter acesso. Em todos navegadores, a página interna funcionava perfeitamente. Menos o IE, que perdia a sessão do usuário após o login inicial. Porém, fora do Page Tab, ou seja, fora do iframe, a aplicação funcionava normalmente, até no IE.

Após pesquisas, descobri que por padrão o IE bloqueia third-party cookies. No caso o IE bloqueou os cookies que estavam sendo acessados dentro uma página que estava dentro de um iframe. É uma política de segurança que o IE adota, seguindo uma especificação do W3C conhecida como Platform for Privacy Preferences ou somente P3P. Para resolver o problema foi bem simples. Basta adicionar o header abaixo em todas as páginas php de sua aplicação que setam cookies. Esse header irá permitir que o IE aceite third-party cookies.

header('p3p: CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"');

Ah, lembre-se de setar o header no php antes de qualquer saída de texto.

Please follow and like us:

Comments

  1. By Pedro Henrique

    • mm By pasquati

    • mm By pasquati

        • mm By pasquati

    • mm By Douglas V. Pasqua

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: