如何在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