Подробная информация о IP-адресе пользователя на PHP
Просмотров: 11094.
Подписаться на комментарии по RSS.
В данной статье мы рассмотрим один способ, как с помощью PHP и зарубежного ресурса узнать всю информацию о IP, в плоть до место жительство на карте.
Данный способ может быть полезен при регистрации на сайте, администратор будет видеть из каких стран и городов к нему идут люди. Так-же можно использовать информацию о IP адресе в скрипте голосования и вывод последних голосов. Ну и в крайнем случае, если вы хотите пробить IP и узнать кто же этот негодяй который рассылает спам.
Мы будем работать с:
- Суперглобальным массивом $_SERVER
PHP-интерпретатор хранит данные, полученные от сервера в массив $_SERVER. Из данного массива нам понадобится только IP $_SERVER['REMOTE_ADDR']
- Библиотека PHP Simple HTML DOM Parser (Скачать)
1. Создаем файл ip-info.php в корень папки сайта
2. В папке где находится файл php-info.php, создаем папку libs и распаковываем содержимое скачанного выше архива simplehtmldom.rar. У вас должно быть такая иерархия /libs/simplehtmldom
В Файл ip-info.php добавляем текущие строки
<?php /** Скрипт: Подробная информация о IP пользователя ** Источник: http://live-code.ru **/ // IP нужного нам пользователя if(!isset($_GET['ip'])) { // Если IP не был задан нами в GET, получаем информацию о нашем IP $ip = $_SERVER['REMOTE_ADDR']; } else { // Ввели нужный нам IP, получаем информацию $ip = addslashes($_GET['ip']); } // Адрес донора информации о IP $url = "http://whatismyipaddress.com/ip/". $ip; // Браузер который увидет донор $userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"; // При помощи Curl получим данные о IP $ch = curl_init(); $timeout = 5; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); $Whatismyip = curl_exec($ch); curl_close($ch); // Подключаем библиотеку PHP Simple HTML DOM Parser include_once ("libs/simplehtmldom/simple_html_dom.php"); $html = str_get_html($Whatismyip); // Парсируем HTML foreach($html->find('td') as $element) { $Data[] = trim($element->innertext); } // Финальные данные // Обрабатываем данные пользователя $host = strip_tags($Data[2]." - ".$Data[3]); $country = strip_tags($Data[9]); $region = strip_tags($Data[10]); if(is_numeric($Data[11])) {$city=$Data[10];} else {$city=$Data[11];} $city = strip_tags($city); preg_match("#http://cdn.whatismyipaddress.com/images/flags/([a-z]+).png#", $Data[9], $match); $flag = strtolower(substr($match[1], 0, 2)); $info = "Провайдер: ".$host."<br />"; $info .= "Страна: ".$country."<br />"; $info .= "Регион: ".$region."<br />"; $info .= "Город: ".$city."<br />"; $info .= "Код страны: ".$flag."<br />"; $info .= "Широта: ".$Data[12]."<br />"; $info .= "Долгота: ".$Data[13]."<br />"; // Выводим данные echo $info; ?>
Хотите узнать, как накрутить вопросы на Аск ФМ илие жа лайки к своим ответам? В этом Вам поможет информативная статья на портале pricesmm.com. Здесь Вы найдете не только полезные советы о накрутке Аска, как платными, так и бесплатными методами, но и массу других фишек и лайфхаков по продвижению в социальных сетях.
Заходим по адресу http://ваш-сайт.com/ip-info.php?ip=80.92.96.25
получаем такую информацию:
Провайдер: gw25.eth.zelcom.ru - AKADO-Stolitsa JSC Страна: Russian Federation Регион: Moscow City Город: Moscow Код страны: ru Широта: 55.7522 Долгота: 37.6156
Как видим, все работает отлично!
Если хотите получить данные о вашем IP, просто не ставьте ip в адресной строке.
http://ваш-сайт.com/ip-info.php
Широтe и Долготу, можно ввести в Google Maps и получить место нахождения человека на карте по его ip.
Если будут вопросы или хотите дополнить, можете оставить их в комментариях ниже.
Комментариев: 7
А вот насчет "получить место нахождения человека на карте" если данный скрипт вернул нам уже данные(Широта, Долгота) не совсем понял где их нужно ввести для получения картинки на карте...
Будет ли статья с объяснениями работы данным скриптом + google maps ?
Зарик, спасибо за идею!
Скоро появится статья с примерами работы google maps
А у меня оно чета не фурвчит =(
Пишет:
Warning: file_get_contents(http://whatismyipaddress.com/ip/80.92.96.25) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable in Z:\home\test1.ru\www\libs\simplehtmldom\simple_html_dom.php on line 39
Я правдо тестировал на денвере
Да! =(
и на сервере тоже нет :(
админы!
ну помогите, в чем проблема со скриптом
балабол, действительно текущая версия скрипта перестала работать т.к. WhatIsMyIpAddress закрыл доступ для скриптов. Скоро обновлю статью с примером на curl
Код статьи обновлен. Спасибо за внимание к скрипту.