Поведение HttpOnly cookie на aspx - PullRequest
       65

Поведение HttpOnly cookie на aspx

0 голосов
/ 16 января 2019

Я сделал печенье HttpOnly, используя статью:

https://docs.microsoft.com/pt-br/dotnet/api/system.web.httpcookie.httponly?view=netframework-4.7.2

Создание файла cookie HttpOnly выглядит следующим образом:

// 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.Secure = true;
myHttpOnlyCookie.Name = "MyHttpOnlyCookie";
Response.AppendCookie(myHttpOnlyCookie);

// Show the name of the HttpOnly cookie.
Response.Write(myHttpOnlyCookie.Name);

Хорошо, я видел эту статью, в которой говорится: https://latesthackingnews.com/2017/07/03/what-is-httponly-cookie/

HttpOnly говорит браузеру сохранить куки, не отображая их клиентские скрипты. Безопасный флаг, с другой стороны, заставляет браузер для отправки файлов cookie по зашифрованному каналу, такому как HTTPS, который прекращает прослушивание, особенно когда соединение HTTPS понижен до HTTP через такие инструменты, как SSLStrip и т. д.

Хорошо,

но я сделал cookie только для http на своей веб-странице .aspx, но я смог увидеть его в файле cookie Chrome:

C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Default\Cookie

Я установил флаги:

    myHttpOnlyCookie.HttpOnly = true;
    myHttpOnlyCookie.Secure = true;

Вопрос 1- , если HttpOnly сообщает браузеру сохранить cookie, не отображая его в сценариях на стороне клиента, почему я могу получить доступ к имени cookie в файле cookie Chrome?

Вопрос 1.1- Доступен ли его контент, но только без использования скриптов?

Вопрос 2- Это глупо, но я не могу получить доступ к HttpOnly cookie через aspx, используя код:

HttpContext.Current.Request.Cookies["test_MyHttpOnlyCookietest"]

Это единственный способ получить к нему доступ через сервер?

Вопрос 3 - Когда я ставлю myHttpOnlyCookie.Secure = true; Я не могу получить доступ через соединение без HTTPS - это правильно? Просто используя https я могу получить к нему доступ?

Вопрос 4- Если я использую myHttpOnlyCookie.Secure = true, происходит шифрование и дешифрование.

Насколько это дорого в вычислительной мощности?

1 Ответ

0 голосов
/ 16 января 2019

Http Только файлы cookie не доступны для клиентских скриптов, конечно, браузер имеет к ним доступ, так как должен отправить их обратно на сервер.

Вы можете получить к нему доступ, используя объект запроса в Asp.net, как и любой другой файл cookie.

Установка атрибута «Безопасный» означает, что файл cookie может использоваться только в безопасном соединении, то есть https, поэтому он не будет работать при http. Затраты на шифрование / дешифрование не являются специфичными для cookie-файлов, на самом деле это происходит на уровне TCP для всех передач данных, а издержки такие же, как и для любого другого соединения https (которое не так уж много для современных серверов). Размер или количество файлов cookie может повлиять на накладные расходы, поскольку данные передаются при любом вызове.

...