Проблема с HttpOnly Cookies - PullRequest
       17

Проблема с HttpOnly Cookies

2 голосов
/ 30 апреля 2011


У меня проблема с созданием cookie-файлов HttpOnly. Я использую следующий код для создания нового cookie:

    //A.aspx
    HttpCookie ht = new HttpCookie("www");
    ht.Value = "www";
    ht.Name = "www";
    ht.HttpOnly = true;
    ht.Expires = DateTime.Now.AddDays(1);
    Response.AppendCookie(ht);
    Response.Redirect("B.aspx");

    //B.aspx
    HttpCookie cookie = Request.Cookies["Allowed"];
    HttpCookie htt = Request.Cookies["www"];
    if (cookie != null)
    {
        Response.Write(cookie.HttpOnly);
        Response.Write(htt.HttpOnly);
    }
    else
    {
        cookie = new HttpCookie("Allowed");
        cookie.HttpOnly = true;
        cookie.Value = "ping";
        cookie.Expires = DateTime.Now.AddMinutes(2);
        Response.Cookies.Add(cookie);  
        Response.Write(cookie.HttpOnly);
        Response.Write(htt.HttpOnly);

    }

Проблема в том, что конечный результат всегда: False, хотя для свойства HttpOnly установлено значение True.
Может кто-нибудь объяснить мне способ выяснить это?
Спасибо

1 Ответ

4 голосов
/ 30 апреля 2011

Параметры cookie (срок действия, путь, HttpOnly и т. Д.) Не отправляются обратно на сервер браузером, только значения. Отправка их назад привела бы только к ненужному раздутию. Поэтому файлы cookie в Request.Cookies будут содержать только имена и значения.

Если вы хотите узнать, действует ли ваше значение HttpOnly, используйте Firecookie или что-то подобное для проверки файлов cookie. Или попробуйте получить доступ к ним в JavaScript - это то, что он должен предотвратить.

...