Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Передача сохраняемых значений




Установление IP-адреса клиента

Иногда бывает полезно знать IP-адрес клиента. Многие создатели чатов отслеживают пользователей, употребляющих ненормативную лексику, и добавляют их адреса в базу данных запрещенных пользователей (хотя, следует заметить, что в сетях с динамической адресацией это бессмысленно). Кроме того, по IP-адресу в рамках сессии работы можно идентифицировать клиента. Это также используется для анализа статистики посещаемости ресурсов сайта. Например, даже учитывая динамичность предоставления IP-адресов, можно отслеживать такие параметры, как последовательность просмотра страниц сайта, показатель возвращения на сайт в течение некоторого промежутка времени и т. д.

Доступ к IP-адресу осуществляется через переменную окружения REMOTE_ADDR или HTTP_FROM.

Доступ к переменным осуществляется путем использования функции GetEnvironmentvariabie, применение которой описано выше.

 

Использование Cookie

Поскольку каждый информационный ресурс сети Интернет создается с целью потенциального многократного использования клиентами, бывает необходимо передавать какие-нибудь сведения между сессиями работы с ресурсом. Так, многие системы, в процессе работы предлагающие клиенту заполнить анкету, при повторном запросе уже вписывают в ее поля данные предыдущего заполнения. Сайты, которые обладают возможностью изменять свое оформление в зависимости от пользовательских предпочтений, также восстанавливают настройки при их повторных посещениях. Примеров можно привести много. Главное, что их объединяет, — это сохранение данных на достаточно большие промежутки времени. Причем, такого рода данные не вносятся в базу данных сервера, поскольку существует метод их сохранения и извлечения на клиентской стороне. Это значит, что все сведения, которые укажет серверный модуль, браузер автоматически записывает в файл и сохраняет его в специальной папке. В последующем, при необходимости, данные могут запрашиваться этим модулем, в результате чего браузер их возвращает для дальнейшего использования. Такая технология называется cookie.

Отправка cookie-данных браузеру осуществляется стандартным для CGI способом — через переменные, которые добавляются к заголовку HTTP-ответа на клиентский запрос. Однако следует заметить, что многие браузеры принимают cookie-информацию посредством как HTTP-заголовков, так и тега <МЕТА> HTML-документа. В данном разделе будет описан способ сохранения данных обоими способами. Итак, передаваемые параметры имеют следующий вид:

имя_переменной1=значение!; имя_переменной2=значение2; ЕХР1КЕЗ=деньнедели дата-месяц-год час:минута:секунда GMT; РАТН=путь;

Переменных, значения которых необходимо сохранить, может быть одна или несколько. В разделе 'EXPIRES хранятся дата и время, до которого данная информация является актуальной. PATH обозначает путь к модулю (документу), для которого предназначена данная информация. Можно задавать также и просто каталог, в случае, если необходимо предоставить cookie- сведения ко всем документам, хранящимся в нем. Если переменная PATH опущена, то данная информация считается предназначенной для файлов из того каталога, откуда пришел запрос.

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

Листинг 9.15. Пример cookie-строки

Set-Cookie: ClientID=0056Jud; EXPIRES=Fri 22-06-2001 00:00:00 GMT; PATH=localhost/cgi-bin/cookie.exe;

В данном примере указывается значение переменной clientID, равное 0056Jud, срок актуальности информации истекает в полночь на 22 июня 2001 года, пятница. Кроме того, указано, что эта информация относится только к файлу cookie.exe и получена с домена locaihost.

Для того чтобы передать эту информацию браузеру, можно использовать тег <МЕТА>. Пример такой реализации способа передачи cookie-данных приведен в листинге 9.16.

Листинг 9.16. Пример передачи cookie-строк браузеру внутри тега <МЕТА>

begin

writeln('Content-Type: text/html');

writeln;

writeln('<HTML>');

writeln('<META HTTP-EQUIV="Set-Cookie" CONTENT^" ClientID=0056Jud;

EXPIRES=Fri 22-06-2001 00:00:00 GMT; PATH=/cgi-bin/cookie.exe;">');

writeln('<ТIТLЕ> Web-страница, сохраняющая cookie</TITLE>');

writeln('<р>Любое содержимое HTML-документа');

writeln('</HTML>');

end.

Альтернативный способ передачи сведений представлен в листинге 9.17.

Листинг 9.17. Передача cookie-сведений внутри заголовка HTTP

begin

writeln('Content-Type: text/html');

writeln('Set-Cookie: ClientID=0056Jud; EXPIRES=Fri 22-06-2001 00:00:00

GMT; PATH=/cgi-bin/cookie.exe;');

writeln;

writeln('<HTML>');

writeln('<ТIТLЕ>ЯеЬ-страница, сохраняющая cookie</TITLE>');

writeln('<р>Любое содержимое HTML-документа');

writeln('</HTML>');

end.

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




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 289; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.