Консультация № 15338
16.12.2004, 17:24
0.00 руб.
0 9 9
Здравствуйте уважаемые эксперты!
Подскажите как мне при помощи PHP получить ip,имя машины,браузер клиента который зашел на мой сайт? Если возможно какие еще сведения можно получить о посетителе сайта и как это сделать?
Спасибо.

Обсуждение

Неизвестный
16.12.2004, 17:38
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
Есть такая предоприделяемая переменная $_SERVER.
В ней есть много всего, ибо переменная эта - хеш.
Для того что бы посмотреть её содержимое - var_dump($_SERVER);
Удачи,
Кот Александр Тихонович =)

Приложение:
<? var_dump($_SERVER);?>
Неизвестный
16.12.2004, 18:19
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
Есть массив предопределенных переменных $_SERVER (в более ранних версиях PHP он именовался $HTTP_SERVER_VARS, имя это по прежнему доступно, но его не рекомендуется использовать). Этот массив суперглобальный, т.е. доступен в любом месте программы без дополнительных определений.
Ниже приведены назначения полей этого массива.
$_SERVER[‘PHP_SELF‘] - путь и имя файла текущего скрипта (недоступно при запуске PHP из коммандной строки)
$_SERVER[‘argv‘] - массив аргументов, переданных скрипту (аналогичен соответствующему массиву в функции main в C/C++)
$_SERVER[‘argc‘] - количество параметров, переданных скрипту (аналогичен соответствующему параметру в функции main в C/C++)
$_SERVER[‘GATEWAY_INTERFACE‘] - спецификация CGI, используемая сервером
$_SERVER[‘SERVER_NAME‘] - имя хоста сервера, на котором исполняется скрипт.
$_SERVER[‘SERVER_SOFTWARE‘] - строка информации о сервере, отправляемая с HTTP-заголовками
$_SERVER[‘SERVER_PROTOCOL‘] - имя и версия протокола, по которому поступил запрос.
$_SERVER[‘REQUEST_METHOD‘] - метод, используемый в запросе
$_SERVER[‘QUERY_STRING‘] - строка запроса, если есть
$_SERVER[‘DOCUMENT_ROOT‘] - коренной каталог, заданный в конфигурации сервера
$_SERVER[‘HTTP_ACCEPT‘] - значение поля "Accept" из заголовков запроса
$_SERVER[‘HTTP_ACCEPT_CHARSET‘] - значение поля "Accept-Charset" из заголовков запроса
$_SERVER[‘HTTP_ACCEPT_ENCODING‘] - значение поля "Accept-Encoding" из заголовков запроса
$_SERVER[‘HTTP_ACCEPT_LANGUAGE‘] - значение поля "Accept-Language" из заголовков запроса
$_SERVER[‘HTTP_CONNECTION‘] - значение поля "Connection" из заголовков запроса
$_SERVER[‘HTTP_HOST‘] - значение поля "Host" из заголовков запроса
$_SERVER[‘HTTP_REFERER‘] - значение поля "Referer" из заголовков запроса, данное поле содержит адрес страницы, с которой пришел пользователь, но не все клиенты (браузеры) передают данное поле.
$_SERVER[‘HTTP_USER_AGENT‘] - значение поля "User-Agent" из заголовков запроса, данное поле содержит информацию о клиенте (тип и версия браузера, тип и версия операционной системы, и т.п.). Для разбора информации из этого поля можно использовать функцию get_browser()
$_SERVER[‘REMOTE_ADDR‘] - IP адрес удаленного компьютера (клиента)
$_SERVER[‘REMOTE_HOST‘] - имя хоста удаленного компьютера (клиента), ваш сервер должен быть сконфигурирован специальным образом для заполнения этого поля. Иначе пользуйтесь функцией gethostbyaddr($_SERVER[‘REMOTE_ADDR‘]);
$_SERVER[‘REMOTE_PORT‘] - порт, открытой на удаленном компьютере (клиенте) для обмена информацией с сервером
$_SERVER[‘SCRIPT_FILENAME‘] - абсолютный путь к исполняемому скрипту
$_SERVER[‘SERVER_ADMIN‘] - соответствующий параметр из конфигурации веб-сервера Apache
$_SERVER[‘SERVER_PORT‘] - порт, используемый сервером для связи с клиентами (по умолчанию равен 80)
$_SERVER[‘SERVER_SIGNATURE‘] - строка, содержащая версию сервера и имя виртуального хоста, добавляемые к страницам, сгенерированным сервером (если разрешено)
$_SERVER[‘PATH_TRANSLATED‘] - системный путь к файлу скрипта после выполнения всех преобразований
$_SERVER[‘SCRIPT_NAME‘] - текущий путь к скрипту. Используется страницами, которым необходимо ссылаться на саму себя
$_SERVER[‘REQUEST_URI‘] - URI, переданный при доступе к скрипту
$_SERVER[‘PHP_AUTH_USER‘] - имя пользователя (HTTP authentication)
$_SERVER[‘PHP_AUTH_PW‘] - пароль пользователя (HTTP authentication)
$_SERVER[‘AUTH_TYPE‘] - метод, используемый для аутентификации пользователя (HTTP authentication)
Неизвестный
16.12.2004, 18:32
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
зайди в phpinfo и посмотри переменные окружения.
удачи!
Неизвестный
16.12.2004, 20:25
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
просто вызовите
<?
phpinfo();
?>
выведется вся информация о предопределенных переменных. В том числе, айпи, броузер и многое другое
Неизвестный
16.12.2004, 21:29
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
Эти сведения находятся в массиве $_SERVER[]
$_SERVER[‘REMOTE_ADDR‘] - IP-адрес
$_SERVER[‘HTTP_USER_AGENT‘] - браузер
Полное описание - http://www.php.net/manual/en/reserved.variables.php#reserved.variables.server , там можно найти много интересного.
Имя машины по http определить нельзя, разве что через gethostbyaddr() попробовать...
Неизвестный
16.12.2004, 23:05
общий
это ответ
Здравствуйте, Виталий!
Все эти интересности находятся в массиве $_SERVER.
IP - $_SERVER[‘REMOTE_ADDR‘]
browser&OS - $_SERVER[‘HTTP_USER_AGENT‘]
Также можно узнать установленное у пользователя разрешение экрана, разрешены ли куки и т.д., но это уже с помощью JavaScript.


С уважением,
  <i>Strory</i>.
Неизвестный
17.12.2004, 08:34
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
В сценарии PHP, если воспользоваться глобальным массивом $_SERVER, можно узнать некоторые данные. Далее я опишу некоторые ключи, и их результат.
‘REMOTE_ADDR‘ - IP адрес пользователя
‘REMOTE_PORT‘ - порт на пользовательской машине для соединения с Web сервером.
‘HTTP_USER_AGENT‘ - имя браузера, используемого пользователем. Т.к. устанавливается браузером, то может содержать неверное имя.
‘HTTP_REFERER‘ - адрес страницы, с которой пользователь пришел к вам. Тоже устанавливается браузером, поэтому доверять ему особо не стоит.
Например, запись $_SERVER[‘REMOTE_ADDR‘] вернет ip адрес пользователя.
Неизвестный
17.12.2004, 17:12
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
Для IP, Домена и Броузера см. прилож.
а для других сведений ищите в массиве $_SERVER ключи которые начитнаются с HTTP_*


Приложение:
$ip = $_SERVER[‘HTTP_HOST‘];$domain = gethostbyaddr($ip);$browser = $_SERVER[‘HTTP_USER_AGENT‘];
Неизвестный
17.12.2004, 23:42
общий
это ответ
Здравствуйте, Поспелов Виталий Евгеньевич!
ip: $_SERVER[‘REMOTE_ADDR‘];
браузер: $_SERVER[‘HTTP_USER_AGENT‘];
Все остальные переменные можно увидеть с помощью функции phpinfo() (см приложение)

Приложение:
<?phpinfo();?>
Форма ответа