Поделиться через


Практическое руководство. Считывание файлов Cookie

Обновлен: Ноябрь 2007

Файлы Cookie позволяют веб-приложениям хранить данные о пользователя, такие как журнал или параметры пользователя. Файл Cookie — это небольшой фрагмент текста, сопровождающий запросы и ответы при их переходе между веб-сервером и клиентом. Файл Cookie содержит данные, которые веб-приложение может считать всякий раз при посещении веб-узла пользователем.

Обозреватель отвечает за управление файлами Cookie в системе пользователя. Файлы Cookie отправляются серверу вместе с запросом страницы и являются доступными как часть объекта HttpRequest, предоставляющего доступ к коллекции Cookies. Можно считывать только файлы Cookie, созданные страницами в текущем домене или пути.

Процедура

  • Считывание строки из коллекции Cookies с использованием имени файла Cookie в качестве раздела.

    Следующий пример иллюстрирует считывание файла Cookie с именем UserSettings, а затем — считывание значения подраздела с именем Font.

    If (Request.Cookies("UserSettings") IsNot Nothing) Then
        Dim userSettings As String
        If (Request.Cookies("UserSettings")("Font") IsNot Nothing) Then
            userSettings = Request.Cookies("UserSettings")("Font")
        End If
    End If
    
    if (Request.Cookies["UserSettings"] != null)
    {
        string userSettings;
        if (Request.Cookies["UserSettings"]["Font"] != null)
        { userSettings = Request.Cookies["UserSettings"]["Font"]; }
    }
    

Компиляция кода

Для этого примера необходимо следующее:

Отказоустойчивость

Из соображений безопасности можно считывать только файлы Cookie, установленные страницами, находящимися в том же домене. Если файлу Cookie задано свойство Path, такой файл Cookie доступен только для страниц и вложенных папок в пределах того же пути домена.

При считывании отдельных значений Cookie проверьте, существует ли Cookie и есть ли у него значение. В противном случае возникнет исключение.

Все значение во всех файлах Cookie хранятся в виде типа String, поэтому для работы со значениями Cookie, как с другими типами данных, необходимо предварительно преобразовать значения соответствующим образом.

Безопасность

Обозреватель может отправить данные обратно только на тот сервер, который первоначально создал файл Cookie. Тем не менее, пользователи-злоумышленники могут получить доступ к файлам Cookie и считать их содержимое. Не храните в файле Cookie конфиденциальные данные (например, имя пользователя или пароль). Вместо этого лучше сохранять маркер, который можно использовать для поиска конфиденциальных данных на сервере. Кроме того, файлы Cookie могут быть подделаны, поэтому любая информация в файле Cookie должна обрабатываться с теми же мерами предосторожности, которые используются во избежание межузловых сценарных атак. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

См. также

Задачи

Практическое руководство. Запись файлов Cookie

Практическое руководство. Удаление файла Cookie

Основные понятия

Общие сведения о файлах Cookie ASP.NET

Основные методы обеспечения безопасности веб-приложений

Общие сведения об управлении состоянием ASP.NET