Como exatamente você configura httpOnlyCookies no ASP.NET?
Pergunta
Inspirado neste artigo do CodingHorror, "Protegendo seus cookies:Somente http"
Como você define essa propriedade?Em algum lugar na configuração da web?
Solução
Se estiver usando o ASP.NET 2.0 ou superior, você poderá ativá-lo no arquivo Web.config.Na seção <system.web>, adicione a seguinte linha:
<httpCookies httpOnlyCookies="true"/>
Outras dicas
Com adereços para Rick (segundo comentário na postagem do blog mencionada), aqui está o Artigo MSDN em httpOnlyCookies.
O resultado final é que você acabou de adicionar a seguinte seção em sua seção system.web em seu web.config:
<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />
Se você quiser fazer isso em código, use o System.Web.HttpCookie.HttpOnly propriedade.
Isto vem diretamente dos documentos do 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);
Fazer isso no código permite que você escolha seletivamente quais cookies são HttpOnly e quais não são.
Curiosamente colocando <httpCookies httpOnlyCookies="false"/>
não parece desabilitar httpOnlyCookies
em ASP.NET 2.0.Confira este artigo sobre SessionID e problemas de login com ASP .NET 2.0.
Parece que a Microsoft tomou a decisão de não permitir que você o desative no web.config.Verifique isso postar em forums.asp.net