|
| |
Назначение страницы.
Технология cookies давно находится в поле зрения специалистов по
защите информации. Одной из основных причин является то, что много антишпионские
программы содержат средства поиска «вредоносных» cookies и внушительные базы
сигнатур для реализации такого поиска. Детектирование cookies в качестве одной
из разновидностей шпионского ПО в свою очередь вызывает множество вопросов у
пользователей – насколько это опасно и следует ли применять особые меры защиты.
Задачей данной страницы является рассмотрение технологии Cookie, создаваемых ей
потенциальных угроз, методик анализа и противодействия.
Назначение cookies.
Итак, стоит начать с ответа на вопрос "что такое cookies".
Cookies - это текстовая информация небольшого объема, которая сохраняется на
компьютере пользователя по запросу WEB сервера и предается ему при повторных
посещениях. Основным назначением cookies является:
-
Организация сессий в ходе работы пользователя с On-Line
магазинами, форумами и иными интерактивными системами с Web интерфейсом,
например с системами документооборота или почтовыми сервисами с web интерфейсом.
В этом случае в cookie хранятся некоторые параметры сессии, например ее
уникальный идентификатор;
-
Хранение различных параметров пользователя. Часто в cookie
хранятся не сами данные, а некий идентификатор, позволяющий программному
обеспечению web сервера опознать пользователя;
-
Идентификация пользователя в рейтинговых системах, счетчиках,
системах баннерного показа, on-line голосованиях. Часто применяется как элемент
защиты от так называемой «накрутки» счетчиков посещения
Пример использования Cookies.
Типовые функции обращения к cookies
функции: Записи (setCookie) и Чтения (getCookie).
Практический пример счётчика и последней
даты посещения страницы.
<!-- Пример использования
Cookies.
Copyright © By: Апарышев Валерий Павлович. All rights reserved.-->
<script
language=javascript>
// Стандартные функции управления
Cookie.
function setCookie(name,
value,
expires,
path,
domain,
secure)
{ // Запись Cookie.
if (expires==null){
// Если дата не определена то ставим +1 год
var expires
= new Date()
expires = new
Date(expires.getYear()+1,
expires.getMonth(),expires.getDate())}
var curCookie =
name + "=" + escape(value)
+
"; expires=" + expires.toGMTString()
+
((path) ? "; path="
+
path : "") +
((domain) ? "; domain="
+
domain : "") +
((secure) ? "; secure"
: "")
document.cookie =
curCookie
}// end function setCookie
function getCookie(name)
{ // Чтение
Cookie.
var
prefix =
name + "="
var cookieStartIndex
=
document.cookie.indexOf(prefix)
if (cookieStartIndex
== -1)
return
null
var cookieEndIndex
=
document.cookie.indexOf(";",
cookieStartIndex +
prefix.length)
if (cookieEndIndex
== -1)
cookieEndIndex =
document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex
+
prefix.length,cookieEndIndex))
}// end function getCookie
// Конец функций управления Cookie. </script>
<!-- Пример использования Cookies.-->
<p><script
language=javascript>
/* Практический пример счётчика (nPosesheniaPage)
и даты (dPosesheniaDate) посещения страницы. */
var nPosesheniaPage=getCookie("PosesheniaPage")
if (!nPosesheniaPage)
nPosesheniaPage=0
nPosesheniaPage=parseInt(nPosesheniaPage)+1
setCookie(
"PosesheniaPage",
nPosesheniaPage)
document.write("Количество
посещений страницы:"+
nPosesheniaPage+"." )
var
dPosesheniaDate=getCookie("PosesheniaDate")
if (dPosesheniaDate)
document.write(" Последнее:
"+
dPosesheniaDate)
setCookie("PosesheniaDate",
Date())
</script></p>
Исходный код вы можете найти в
Zip архиве, файл
cookies.htm.
|