Как именно вы настраиваете httpOnlyCookies в ASP.NET? - PullRequest
43 голосов
/ 29 августа 2008

Вдохновлен этой статьей CodingHorror " Защита ваших файлов cookie: HttpOnly "

Как установить это свойство? Где-то в веб-конфиге?

Ответы [ 4 ]

58 голосов
/ 29 августа 2008

Если вы используете ASP.NET 2.0 или выше, вы можете включить его в файле Web.config. В разделе добавьте следующую строку:

<httpCookies httpOnlyCookies="true"/>
10 голосов
/ 29 августа 2008

С реквизитом Рику (второй комментарий в упомянутом сообщении в блоге), вот статья MSDN на httpOnlyCookies.

Суть в том, что вы просто добавляете следующий раздел в раздел system.web в файле web.config:

<httpCookies domain="" httpOnlyCookies="true|false" requireSSL="true|false" />
8 голосов
/ 29 августа 2008

Если вы хотите сделать это в коде, используйте свойство 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);

Выполнение этого в коде позволяет вам выборочно выбирать, какие куки являются HttpOnly, а какие нет.

3 голосов
/ 21 апреля 2009

Интересно, что <httpCookies httpOnlyCookies="false"/> не отключает httpOnlyCookies в ASP.NET 2.0. Прочтите эту статью о SessionID и проблемах входа в систему с ASP .NET 2.0 .

Похоже, Microsoft приняла решение не разрешать вам отключать его из web.config. Проверьте это сообщение на forums.asp.net

...