Самоучитель по креативному веб-дизайну. Книга 4, стр.26

запрошенную страницу браузеру.) Тем не менее, с точки зрения >^еЬ-сервера

PHP-сценарий не имеет возможности определять фактический IP-адрес посети —

теля из поля REMOTE ADDR заголовка запроса, поскольку прокси-сервер заменяет

IP-адрес посетителя своим собственным адресом.

К i счастью, прокси-сервер отправляет IP-адрес посетителя в поле

HTTP X_FORWARDED_FOR. Таким образом, во избежание потери информации об

IP-адресе посетителей, работающих через прокси-серверы, для определения фак —

тического IP-адреса посетителя (который можно сохранять, например, в столбце

visitor_I P таблицы UsageLog) ИСПОЛЬЗуетСЯ Следующий КОД!





//Прокси-сервер вставляет данные HTTP X_FORWARDED FOR в заголовок

//сообщения. Если посетитель работает без прокси-сервера, функция getenv()

// возвращает либо пустое значение, либо NULL

$visitor_IP = getenv(«HTTP_XJFORWARDED_FOR»);



// Если посетитель работает без прокси-сервера, извлечь IP-адрес из

// поля REMOTE_ADDR в заголовке запроса

if ( ($visitor_JCP == null) or ($visitor IP ==»"))

$visitor_IP = getenv(«REMOTE_ADDR»);

else

{

// Отформатировать IP-адрес в виде proxy^IP [,] visitor_IP

list ($proxy_IP, $visitor_IP) = split (‘ [,] ‘ , $visitor_IP) ;

$visitor IP = ltrim($visitor_IP) ;

}

Исходный PHP-код предыдущего сценария и пользовательская функция

(chptiOTipi4insert о) , котоая используется для записи данных посетителя

(включая реальный IP-адрес), находится в архиве chptiOTipi4.zip, который

можно выгрузить из сайта издательства русскоязычной редакции этой книги

(http://www. diasoft. kiev. ua).

Глава 10. РНР4 54 3



Предотвращение принятия одним посетителем

PHP-идентификатора сеанса другого посетителя

При использовании переменных с значениями долговременного хранения (т. е переменных, которые сохраняют свои значения при переходе посетителем от од — ной странице Web-сайта к другой) для организации (или продолжения) сеанса

можно воспользоваться либо cookie-набором, либо встроенной функцией

session__start о. При работе с cookie-наборами Web-браузер сохраняет их в

cookie-файле на жестком диске компьютера посетителя. Если же вы начинаете РНР-сеанс, PHP-процессор сохраняет имена и значения сеансовых переменных в файле сеанса на Web-сервере.

PHP-процессор создает сеансовые файлы в каталоге, который был указан при

установке РНР. По умолчанию программа установки РНР выбирает в качестве пути для записи сеансовых файлов \PHP\sessionData на том же диске, на кото —

ром установлен РНР. Таким образом, если РНР установлен на диске D, ПО умол — чания программа установки в качестве каталога записи файлов сеансов будет ис —

пользовать путь D:\PHP\sessionData. (Для определения пути к каталогу файлов

СеанСОВ МОЖНО ВЫЗВатЬ Встроенную РНР-фунКЦИЮ session_save_path( ) .)

Сеансовый файл носит имя sess_. Если PHP-сценарий вызыва —

ет функцию session_start() , когда переменная $PHPSESSID не определена, она помещает в переменную текстовую строку длиной 32 символа и для получения имени файла сеанса добавит эту строку к строке sess_. Файл с полученным име- нем будет создан в каталоге файлов сеансов. Предположим, например, что функ —

ция session_start( ) в сценарии установила значение переменной $PHPSESSID

равным n d06205502dlbb3a0f2553bac4de763ad». РНР-процеССОр СОЗДаСТ файл Се —

анса D:\PHP\SessionData\sess_d06205502dlbb3a0f2553bac4de763ad, В КОТОРОМ будут хранится сеансовые переменные. (Сеансовые переменные создаются путем передачи имен переменных в качестве параметров функции

session register () .)

Если PHP-сценарий вызывает функцию session_start() , когда переменная

$PHPSESSID уже содержит 32-символьное строковое значение, для поиска и от — крытия существующего файла сеанса PHP-процессор будет использовать име — ющийся идентификатор сеанса (т. е. значение переменной $PHPSESSID). Пред — положим, например, что известно, что PHP-процессор при открытии страницы www. NVBizNet. com/HWDTT/secret. php присвоил сеансу идентификатор

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 24.01.2010">Плагины расширений для браузера Google Chrome
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 095
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 012
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.66
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.72
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.94
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 101
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.78
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 047
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 133
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 072
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.134
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.50
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.105
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.111
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...