Программирование |
Web мастеру |
3D Графика и анимация |
Сетевая безопасность |
Гостевая книга |
Форум |
Ссылки |
Услуги |
|
|
На главную страницу > > В раздел программирование. > > В раздел COOKIES. |
Пример 5. Функция удаления значения cookie. |
Принцип работы этой функции заключается в том, что cookie устанавливается с заведомо устаревшим параметром expires, в данном случае 1 января 1970 года. // name - имя cookie // [path] - путь, для которого cookie действительно // [domain] - домен, для которого cookie действительно function deleteCookie(name, path, domain) { if (getCookie(name)) { document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT" } 3. Задание cookie с помощью CGI-скриптов Самый мощный и гибкий способ управления документами с использованием механизма cookie - с помощью CGI-скриптов. Задание значения cookie на Perl будет выглядеть следующим образом: print "Content-type: text/html\n"; print "Set-Cookie: username=aaa13; expires=Friday, 31-Dec-99 23:59:59 GMT; path=/; domain=www.citforum.ru;\n\n"; Скрипт при выдаче результатов работы генерирует HTTP заголовок: Content-type: text/html Set-Cookie: "username=aaa13; expires=Friday, 31-Dec-99 23:59:59 GMT; path=/; domain=www.citforum.ru;"Чтобы прочитать в скрипте ранее заданное значение cookie, используется переменная окружения HTTP_COOKIE. $cookie = $ENV{'HTTP_COOKIE'}; Далее можно анализировать полученную строку и, в зависимости от считанных значений, выполнять соответствующие действия. Совсем недавно я написал систему рейтинга серверов для Российского Клуба Вебмастеров, которая использует механизм cookie для защиты от накрутки очков. В ней, задавая и анализируя значения cookie, я либо не допускаю пользователя до голосования (если отключены cookie в браузере или пользователь один раз уже проголосовал), либо разрешаю голосовать (если соответствующее значение не задано). Обмануть такую систему можно, только стирая каждый раз файл cookies.txt. Можно было бы использовать файл логов голосования на узле, но возникали бы проблемы разделения доступа к файлу и замедление работы вследствие использования медленных дисковых операций. |
На главную страницу > > В раздел программирование. > > В раздел COOKIES. |