Практическое руководство. Считывание файлов Cookie
Обновлен: Ноябрь 2007
Файлы Cookie позволяют веб-приложениям хранить данные о пользователя, такие как журнал или параметры пользователя. Файл Cookie — это небольшой фрагмент текста, сопровождающий запросы и ответы при их переходе между веб-сервером и клиентом. Файл Cookie содержит данные, которые веб-приложение может считать всякий раз при посещении веб-узла пользователем.
Обозреватель отвечает за управление файлами Cookie в системе пользователя. Файлы Cookie отправляются серверу вместе с запросом страницы и являются доступными как часть объекта HttpRequest, предоставляющего доступ к коллекции Cookies. Можно считывать только файлы Cookie, созданные страницами в текущем домене или пути.
Процедура
Считывание файла 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"]; } }
Компиляция кода
Для этого примера необходимо следующее:
Веб-страница ASP.NET.
Ранее созданный файл Cookie с именем UserSettings, как показано в разделе Практическое руководство. Запись файлов Cookie.
Отказоустойчивость
Из соображений безопасности можно считывать только файлы Cookie, установленные страницами, находящимися в том же домене. Если файлу Cookie задано свойство Path, такой файл Cookie доступен только для страниц и вложенных папок в пределах того же пути домена.
При считывании отдельных значений Cookie проверьте, существует ли Cookie и есть ли у него значение. В противном случае возникнет исключение.
Все значение во всех файлах Cookie хранятся в виде типа String, поэтому для работы со значениями Cookie, как с другими типами данных, необходимо предварительно преобразовать значения соответствующим образом.
Безопасность
Обозреватель может отправить данные обратно только на тот сервер, который первоначально создал файл Cookie. Тем не менее, пользователи-злоумышленники могут получить доступ к файлам Cookie и считать их содержимое. Не храните в файле Cookie конфиденциальные данные (например, имя пользователя или пароль). Вместо этого лучше сохранять маркер, который можно использовать для поиска конфиденциальных данных на сервере. Кроме того, файлы Cookie могут быть подделаны, поэтому любая информация в файле Cookie должна обрабатываться с теми же мерами предосторожности, которые используются во избежание межузловых сценарных атак. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.
См. также
Задачи
Практическое руководство. Запись файлов Cookie
Практическое руководство. Удаление файла Cookie
Основные понятия
Общие сведения о файлах Cookie ASP.NET