Вдохновленный этой статьей CodingHorror, "Защита ваших файлов cookie: HttpOnly"
Как установить это свойство? Где-то в веб-конфигурации?
Вдохновленный этой статьей CodingHorror, "Защита ваших файлов cookie: HttpOnly"
Как установить это свойство? Где-то в веб-конфигурации?
Если вы используете ASP.NET 2.0 или более позднюю версию, вы можете включить ее в файле Web.config. В разделе ‹system.web› добавьте следующую строку:
<httpCookies httpOnlyCookies="true"/>
С реквизитами для Рика (второй комментарий ниже в упомянутом сообщении в блоге), вот Статья MSDN о httpOnlyCookies.
Суть в том, что вы просто добавляете следующий раздел в свой раздел system.web в своем web.config:
<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />
Если вы хотите сделать это в коде, используйте систему . Свойство 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);
Выполнение этого в коде позволяет вам выборочно выбирать, какие файлы cookie являются HttpOnly, а какие нет.
Интересно, что установка <httpCookies httpOnlyCookies="false"/>
не отключает httpOnlyCookies
в ASP.NET 2.0. Прочтите эту статью о SessionID и проблемы со входом в ASP .NET 2.0.
Похоже, Microsoft приняла решение не разрешать вам отключать его из web.config. Проверьте это сообщение на forums.asp.net