PHP: информация о посетителях сайта
Язык PHP предоставляет хорошие возможности для учета и классификации обращений к скриптам пользователями. Анализируя переменные окружения, передающиеся при каждом запросе, можно выполнять определенные действия. Например, если к скрипту разрешены только POST-запросы, то с помощью переменной REQUEST_METHOD можно отсеивать все другие типы запросов: GET, PUT, HEAD и т.д. Или, например, разрешить доступ к скрипту только браузерам, содержащим в своем идентификаторе слово MSIE.
Далее представлены варианты получения информации о запросах пользователей, которые можно использовать, например, как лог обращений к страницам. Можно, конечно, исследовать логи веб-сервера, но не все хостеры позволяют смотреть логи.
Для получения информации о посетителях сайта используется очень полезная функция getenv().
Код программы | Результат выполнения |
date("d.m.Y",time()).' '.date("H:i:s",time()) | 23.11.2024 10:07:39 |
getenv("REQUEST_URI") | /?id=php-people-information&pg=art |
getenv("HTTP_REFERER") | http://gcmsite.ru/?id=php-people-information&pg=art |
getenv("QUERY_STRING") | id=php-people-information&pg=art |
getenv("REMOTE_ADDR") | 3.128.200.165 |
gethostbyaddr(getenv("REMOTE_ADDR")) | ec2-3-128-200-165.us-east-2.compute.amazonaws.com |
getenv("HTTP_X_FORWARDED") | |
getenv("HTTP_X_FORWARDED_FOR") | |
getenv("HTTP_VIA") | |
getenv("HTTP_X_COMING_FROM") | |
getenv("HTTP_COMING_FROM") | |
getenv("HTTP_USER_AGENT") | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
getenv("HTTP_FROM") | |
getenv("REQUEST_METHOD") | GET |
getenv("HTTP_ACCEPT_ENCODING") | gzip, br, zstd, deflate |
getenv("HTTP_ACCEPT_LANGUAGE") | |
getenv("HTTP_CONNECTION") | |
getenv("REMOTE_PORT") | 44754 |
ВАЖНОЕ ЗАМЕЧАНИЕ
Никогда не используйте вывод (echo, print) переменных, не проверив их на безопасность. Проверить переменные можно, например, с помощью такой функции:
function my_s($s){ return trim(stripslashes(str_replace("`",'', str_replace("\n",' ',str_replace("|",'_', str_replace("..",'', htmlspecialchars($s,ENT_QUOTES))))))); }Функция записывается в одну строку и выполняется очень быстро. Для наглядности можно разделить функцию my_s() на отдельные подфункции, но это приведет к замедлению её работы.
Использование функции my_s():
<?php echo my_s(getenv("REQUEST_METHOD")); ?>
Разрешаем работу скрипта только с браузерами типа MSIE:
if (strstr(getenv("HTTP_USER_AGENT"), "MSIE")){ разрешено } else{ не разрешено }
Разрешаем работу скрипта только по методу POST:
if (getenv("REQUEST_METHOD")=='POST')){ разрешено } else{ не разрешено }
JavaScript — это язык веб-программирования, работающий на стороне клиента, позволяющий автоматизировать какую-либо деятельность на странице сайта, не нагружая сервер. Вся нагрузка лежит на компьютере пользователя. В нем можно создавать функции, а также использовать базовые алгоритмы, состоящие из следования-ветвления-цикла. Чаще всего программный код на языке JavaScript обрабатывается обычными веб-браузерами.
Интересные материалы на сайте:
В статье рассматривается пример работы с числами Фибоначчи, написанный на языке программирования PHP.
Рассматривается алгоритм подсчета и вывода статистики о посещаемых страницах сайта.
В статье рассказывается как начать свой бизнез грузоперевозок на территории Европы.
Список движков для создания игр на различных платформат, от PC и PlayStation 2, до Apple и Android.