Inspirado en este artículo de CodingHorror, "Protecting Your Cookies: HttpOnly"¿Cómo se configuran las httpOnlyCookies en ASP.NET?
¿Cómo se establece esta propiedad? En algún lugar de la configuración web?
Inspirado en este artículo de CodingHorror, "Protecting Your Cookies: HttpOnly"¿Cómo se configuran las httpOnlyCookies en ASP.NET?
¿Cómo se establece esta propiedad? En algún lugar de la configuración web?
Si está utilizando ASP.NET 2.0 o superior, puede encenderlo en el archivo Web.config. En la sección system.web < >, agregue la siguiente línea:
<httpCookies httpOnlyCookies="true"/>
Con accesorios para Rick (segundo comentario en la entrada del blog mencionada), aquí está el MSDN article en httpOnlyCookies.
El fondo es que sólo tiene que añadir la siguiente sección en su sección system.web en su web.config:
<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />
Por cierto, no uses domain = "String", ya sea configurando un dominio válido o dejando ese atributo. –
@JonGalloway Gracias por la captura, actualicé el código en consecuencia. –
@ Dillie-O, ¿qué puede hacer que este elemento se bloquee? cuando lo configuro en mi archivo web.config, aparece el siguiente error "el elemento httpcookies se ha bloqueado en una configuración de nivel superior" – StackTrace
Si desea hacerlo en código, utilice la propiedad System.Web.HttpCookie.HttpOnly.
Esto es directamente de la documentación de 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);
Hacerlo en código le permite elegir selectivamente qué cookies son HttpOnly y cuáles no lo son.
Interesantemente poner <httpCookies httpOnlyCookies="false"/>
no parece deshabilitar httpOnlyCookies
en ASP.NET 2.0. Consulte este artículo sobre SessionID and Login Problems With ASP .NET 2.0.
Parece que Microsoft tomó la decisión de no permitirle desactivarlo desde el archivo web.config. Comprueba esto post on forums.asp.net
Esto no funciona para mí. Intenté " " y ninguna de las configuraciones funciona. –
rolls
@rolls Tengo el mismo problema. ¿Encontraste una solución o causa? – Neothor
Sí, lo hice en el código. Verifique las respuestas a continuación. – rolls