Browsers, Chrome, Internet Explorer

Applicazione ASP.NET dentro un iframe e cookie bloccati

Non so se avete mai provato a far girare un’applicazione asp.net che ha assoluta necessità di usare i cookie dentro un iframe di un sito di un dominio diverso (non chiedetemi perchè ma a volte serve).

Una cosa così in pratica:

<!DOCTYPE HTML>
<html>
  <head>	
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />	
    <title>TEST - IFRAME</title>
  </head>
  <body>	
    <a href="http://sito1test">http://sito1test</a>
  </body>
</html>

dove http://sito1test&#8221; è la vostra applicazione che DEVE usare i cookies. Provate e aprite la pagina con Firefox o Chrome e funziona tutto perfettamente.
Come ulteriore scrupolo aprite la stessa pagina con Internet Explorer e “stranamente” non funziona nulla… in pratica Internet Explorer ha come protezione “aggiuntiva” il blocco di accettare cookie da domini di siti terzi se inseriti in un iframe. Beh potrebbe essere anche giusto.
Come si risolve? La risposta è la Platform for Privacy Preferences, o P3P cioè un protocollo per dichiarare quali tipi di informazioni vengono condivise e memorizzate, interessante no?

Vi leggete tutta la documentazione a riguardo, capite cosa sono i vari simboli usati e poi prendete la vostra applicazione dotnet http://sito1test&#8221; e aprite il file “Global.asax”, quindi dentro alla funzione

[csharp]protected void Application_BeginRequest(object sender, EventArgs e)[/csharp]

inserite il comandino per aggiungere la direttiva a tutte le pagine:

[csharp]HttpContext.Current.Response.AddHeader(“p3p”,
“CP=”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT””);[/csharp]

FUNZIONA! MAGNIFICO!

Benissimo, ma visto che vi piace capire le cose fate un’ultima prova prima di dichiarare vinta la battaglia di dare un “+1” a IE, sostituite la direttiva di cui sopra con:

[csharp]HttpContext.Current.Response.AddHeader(“p3p”, “CP=”mia nonna in carriola””);[/csharp]

FUNZIONA LO STESSO! (ATTIMO DI PANICO) poi vi ricordate che stiamo parlando SOLO di Internet Explorer e passate ad altro.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...