Whois и PHP
Иногда бывает нужно при анализе посещаемости сайта знать, из какой страны пришёл посетитель, а желательно и из какого города. В общем, получить какую-то дополнительную информацию на основе его IP-адреса. Для этого есть сервис whois, с которым можно работать, в том числе, и через PHP.
Итак, полный код для получения информации из whois c помощью PHP приведён ниже:
<form name="whois" method="post" action="">
<p>
<input type="text" name="ip" />
</p>
<p>
<input type="submit" name="whois" value="Проверить IP" />
</p>
</form>
<?php
if (!empty($_POST["ip"])) echo whois("whois.arin.net", $_POST["ip"]); // Выводим результат нашей функции
function whois($url, $ip) {
$sock = fsockopen($url, 43, $errno, $errstr); // Соединяемся с whois-сервером на 43-й порт
if (!$sock) exit("Ошибка соединения"); // Если соединение не удалось
else {
echo $url."<br>";
// Записываем строку из переменной $_POST["ip"] в дескриптор сокета.
fputs ($sock, $ip."\r\n"); // Отправляем IP-адрес
$text = "";
while (!feof($sock)) {
$text .= fgets($sock, 256)."<br />"; // Читаем ответ от сервера
}
fclose($sock); // Закрываем соединение
$pattern = "|ReferralServer: whois://([^\n<:]+)|i"; // Ищем реферальный сервер, если таковой имеется
preg_match($pattern, $text, $out);
if(!empty($out[1])) return whois($out[1], $ip); // Если рефереальный сервер найден, то обращаемся уже к нему
else return $text; // Если реферального сервера уже нет, то возвращаем результат ответа
}
}
?>
Вот такой несложный, но весьма полезный скрипт при анализе тех, кто посещает Ваши сайты. И всё это основано на работе сервиса whois и работе с ним через PHP.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.