Come si configura esattamente httpOnlyCookies in ASP.NET?
Domanda
Ispirato da questo articolo di CodingHorror, "Protezione dei cookie:HttpOnly"
Come si imposta questa proprietà?Da qualche parte nella configurazione web?
Soluzione
Se usi ASP.NET 2.0 o versione successiva, puoi attivarlo nel file Web.config.Nella sezione <system.web>, aggiungi la seguente riga:
<httpCookies httpOnlyCookies="true"/>
Altri suggerimenti
Con i complimenti a Rick (secondo commento in basso nel post del blog menzionato), ecco il Articolo MSDN su httpOnlyCookies.
La conclusione è che devi semplicemente aggiungere la seguente sezione nella sezione system.web nel tuo web.config:
<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />
Se vuoi farlo in codice, usa il file System.Web.HttpCookie.HttpOnly proprietà.
Questo proviene direttamente dai documenti MSDN:
// Create a new HttpCookie.
HttpCookie myHttpCookie = new HttpCookie("LastVisit", DateTime.Now.ToString());
// By default, the HttpOnly property is set to false
// unless specified otherwise in configuration.
myHttpCookie.Name = "MyHttpCookie";
Response.AppendCookie(myHttpCookie);
// Show the name of the cookie.
Response.Write(myHttpCookie.Name);
// Create an HttpOnly cookie.
HttpCookie myHttpOnlyCookie = new HttpCookie("LastVisit", DateTime.Now.ToString());
// Setting the HttpOnly value to true, makes
// this cookie accessible only to ASP.NET.
myHttpOnlyCookie.HttpOnly = true;
myHttpOnlyCookie.Name = "MyHttpOnlyCookie";
Response.AppendCookie(myHttpOnlyCookie);
// Show the name of the HttpOnly cookie.
Response.Write(myHttpOnlyCookie.Name);
Farlo nel codice ti consente di scegliere selettivamente quali cookie sono HttpOnly e quali no.
Interessante la messa <httpCookies httpOnlyCookies="false"/>
non sembra disabilitare httpOnlyCookies
in ASP.NET 2.0.Controlla questo articolo su SessionID e problemi di accesso con ASP .NET 2.0.
Sembra che Microsoft abbia preso la decisione di non consentirti di disabilitarlo da web.config.Controllare questo pubblicare su forums.asp.net