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


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

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

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

ms178195.alert_note(ru-ru,VS.90).gifПримечание.

Вызов метода Remove коллекции Cookies удалит файл cookie из коллекции со стороны сервера, чтобы он не был отправлен клиенту. В то же время, этот метод не удаляет файл cookie у клиента, если он уже существует.

  1. Определите, существует ли файл cookie. Если он существует, создайте новый фал cookie с тем же именем.

  2. Задайте срок действия файла Сookie равным дате в прошлом.

  3. Добавьте файл cookie в объект коллекции Cookies.

    В следующем примере кода показано, как задать дату истечения срока файла Cookie в прошлом.

    If (Not Request.Cookies("UserPreferences1") Is Nothing) Then
        Dim myCookie As HttpCookie
        myCookie = New HttpCookie("UserPreferences1")
        myCookie.Expires = DateTime.Now.AddDays(-1D)
        Response.Cookies.Add(myCookie)
    End If
    
    if (Request.Cookies["UserSettings"] != null)
    {
        HttpCookie myCookie = new HttpCookie("UserSettings");
        myCookie.Expires = DateTime.Now.AddDays(-1d);
        Response.Cookies.Add(myCookie);
    }
    

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

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

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

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

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

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

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

См. также

Задачи

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

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

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

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

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

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