Как установить HttpOnly для файла cookie ASP.NET_SessionId? - PullRequest
7 голосов
/ 11 февраля 2010

В моем веб-проекте настройки для включения httpOnlyCookies нет. Это ложь по умолчанию. Также нет места в коде, где cookie устанавливается на HttpOnly. Однако, когда я захожу на сайт, я вижу, что файл cookie ASP.NET_Session передается как HttpOnly. Как установить HttpOnly?

Ответы [ 2 ]

14 голосов
/ 11 февраля 2010

Сеансовые куки ASP.NET являются только HTTP, независимо от настройки httpOnlyCookies, связанной с вашим вопросом, потому что они записаны в ASP.NET. Вы не можете переопределить это.

Если вы копаете класс System.Web.SessionState.SessionIDManager в сборке System.Web, то код для создания файла cookie сеанса ASP.NET выглядит следующим образом:

private static HttpCookie CreateSessionCookie(string id)
{
    HttpCookie cookie = new HttpCookie(Config.CookieName, id);
    cookie.Path = "/";
    cookie.HttpOnly = true;   // <-- burned in
    return cookie;
}
1 голос
/ 11 февраля 2010

Это HttpOnly, поэтому ваш файл cookie сеанса не может быть изменен клиентом с помощью JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...