Я сделал печенье 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
, происходит шифрование и дешифрование.
Насколько это дорого в вычислительной мощности?