что такое файл cookie ASPXAUTH?

Во время работы с аутентификацией форм ASP.Net я наткнулся на файл cookie .ASPXAUTH. У меня есть пара вопросов:

  • Какова цель этого файла cookie?
  • Где находится этот файл cookie?

person balaweblog    schedule 08.01.2009    source источник


Ответы (3)


Файл cookie ASPXAUTH используется для определения того, аутентифицирован ли пользователь.

Что касается местоположения файла cookie, это зависит от вашего браузера. Если вы используете Firefox, вы можете просмотреть файл cookie, щелкнув Инструменты -> Параметры -> Конфиденциальность. Затем прокрутите вниз до домена и разверните его, чтобы увидеть файл cookie и его значение. Значение зашифровано с использованием машинного ключа (расположенного в файле machine.config или web.config сервера), поэтому просмотр файла cookie на клиенте не даст вам никакой информации. Вы можете расшифровать / просмотреть значение на стороне сервера, используя:

HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];//.ASPXAUTH
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);

где authTicket имеет эти поля:

введите описание изображения здесь

Утверждение «ASPXAUTH в основном используется для поддержания состояния сеанса ASP.NET» неверно. ASP.NET выдает совершенно другой файл cookie с именем ASP.NET_SessionId для отслеживания состояния сеанса.

person Todd    schedule 08.01.2009
comment
В Firefox v8.0 файлы cookie можно найти следующим образом: Инструменты - ›Информация о странице -› Безопасность - ›Просмотр файлов cookie. - person Anthony; 25.11.2011
comment
На той же вкладке безопасности есть кнопка «Просмотр сохраненных паролей», и, к моему удивлению, я смог увидеть все пароли в виде простого текста для различных веб-сайтов, которые я просматривал с помощью firefox. Хотя браузер должен хранить его в закодированном формате на диске, и он просто показывает для справки, декодируя его, но этот вариант действительно представляет угрозу безопасности, насколько я могу думать. Если какой-либо хакер может использовать тот же алгоритм и читать эти файлы cookie с помощью javascript, хотя утечка этого алгоритма является отдаленной возможностью, поскольку она также может включать какой-то ключ, который известен только коду браузера. - person RBT; 26.01.2015
comment
Чтобы получить имя ключа, используемого для хранения идентификатора сеанса asp.net в коллекции файлов cookie HTTP-запроса, вот код C #: var aspNetSessionState = new System.Web.Configuration.SessionStateSection (); вар aspNetSessionCookieName = aspNetSessionState.CookieName; - person RBT; 26.01.2015
comment
В Application_PostAuthenticateRequest Request.IsAuthenticated истинно, но .ASPXAUTH не имеет значения в моем HttpContext.Current.Request.Cookies. Я использую sessionState. - person Kiquenet; 17.05.2016
comment
Я создал проект MVC, запустил его. Зарегистрируйте учетную запись, а затем войдите в систему. И проверьте файлы cookie в chrome dev tool, там был файл Aspnet.ApplicationCookie. А затем добавил одну строку в действие входа: FormsAuthentication.SetAuthCookie (model.Email, true); и снова войдите в систему и проверили файлы cookie в chrome dev tool, на этот раз очевидно, что это был ASPXAuth. Так в чем разница между ними? - person ; 08.01.2017

На самом деле файл cookie .ASPXAUTH неточно сообщает вам, когда пользователь действительно аутентифицирован. Когда пользователь выходит из приложения, файл cookie .ASPXAUTH удаляется из браузера. Однако, если вы вернетесь на сайт в течение короткого периода времени (с тайм-аутом формы auth cookie) и отредактируете новый файл cookie ASP.NET_SessionId следующим образом:

  • измените поле "name" с "ASP.NET_SessionId" на ".ASPXAUTH"
  • изменить "значение" с 24-символьного идентификатора сеанса на старую 448-символьную строку аутентификации

После обновления вы сможете принять личность аутентифицированного пользователя без повторной технической повторной аутентификации. (опять же при условии, что вы делаете это в течение определенного времени ожидания, хранящегося в зашифрованной строке аутентификации .ASPXAUTH)

Хорошая запись в блоге более подробно объясняет проблему. Возможное решение - связать .ASPXAUTH с сеансом ASP.

person Robert    schedule 03.10.2010

Если взаимодействие пользователя с URL-адресом входа в HTML позволило серверу TSWPP установить личность пользователя, удаленному серверу СЛЕДУЕТ создать файл cookie, который идентифицирует пользователя и разрешает аутентификацию на сервере. Содержимое файла cookie ДОЛЖНО быть подписано и зашифровано. Конкретная реализация этого файла cookie, включая алгоритмы подписи и шифрования, зависит от реализации сервера TSWPP, поскольку для анализа содержимого файла cookie требуется только сервер. Если сервер реализует cookie, то cookie ДОЛЖЕН быть возвращен в полезной нагрузке HTTP с типом содержимого «application / x-msts-webfeed-login».

http://msdn.microsoft.com/en-us/library/ee920427.aspx

person Cruiser KID    schedule 23.09.2013