Tutoriais

Gravatar de Filipe Filipe Tópico publicado em
11/11/2009, 18:59:13

Resolvendo o problema de cookies dentro de frames ou iframes

O Internet Explorer bloqueia por motivos de segurança todos os cookies de um site que o domínio tem um frame ou iframe apontando pra outro domínio, essa é uma configuração padrão desse navegador, e não seria atrativo forçar o usuário a reconfigurar seu navegador para poder navegar pelo site.

Essa semana eu me deparei com esse problema, e consegui uma solução rápida, e implementei ela no Spaghetti*

Primeiro temos que definir o cabeçalho a modo que o navegador entenda que pode aceitar os cookies sem problema.

em HTML seria assim
<meta http-equiv="P3P" content='CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"'>

portanto como o Spaghetti* trabalha com camadas, não seria possível definir isso dentro de uma view ou no layout, porque não pode haver nenhum código php antes dessa linha, a solução foi a seguinte.

dentro do controlador app_controller.php adicione essas linhas.

public function beforeFilter(){
    $this->set($this->set_p3p());
}
public function set_p3p() {
    header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
}

pronto, resolvido o problema, o beforeFilter envoca a função set_p3p() que é responsável em definir o cabeçalho, como está no app_controller vale para aplicação toda.

Quem tiver este problema está aí a dica.

Gravatar de Filipe Filipe Resposta publicada em
11/11/2009, 19:04:53

Resolvendo o problema de cookies dentro de frames ou iframes

**
em HTML seria assim

<meta http-equiv="P3P" content='CP="IDC DSP COR CURa ADMa  
OUR IND PHY ONL COM STA"'>

**

Você deve estar logado para responder a um tópico ou adicionar um novo.
Efetue login ou Registre-se para participar das discussões.