如何在ASP.NET中configurationhttpOnlyCookies?

受此CodingHorror文章的启发,“ 保护您的Cookie:HttpOnly ”

你如何设置这个属性? 在networkingconfiguration的某处?

如果您使用的是ASP.NET 2.0或更高版本,则可以在Web.config文件中将其打开。 在<system.web>部分中,添加以下行:

<httpCookies httpOnlyCookies="true"/> 

道具瑞克(在提到的博客文章中的第二个评论),这是关于httpOnlyCookies的MSDN文章 。

底线是,你只需在你的web.config的system.web部分添加下面的部分:

 <httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" /> 

如果你想在代码中使用System.Web.HttpCookie.HttpOnly属性。

这是直接从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); 

在代码中执行它可以让您select哪些cookie是HttpOnly,哪些不是。

有趣的是把<httpCookies httpOnlyCookies="false"/>似乎并不禁用ASP.NET 2.0中的httpOnlyCookies 。 检查这篇文章关于ASP .NET 2.0的SessionID和login问题 。

看起来像微软决定不允许你从web.config中禁用它。 在forums.asp.net检查这个post