Whois і php

Whois і PHP

Іноді буває потрібно при аналізі відвідуваності сайту знати, з якої країни прийшов відвідувач, а бажано і з якого міста. Загалом, отримати якусь додаткову інформацію на основі його IP-адреси. Для цього є сервіс whois, з яким можна працювати, в тому числі, і через PHP.




Отже, повний код для отримання інформації з whois c допомогою PHP наведено нижче:


lt ;?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
."
"
-
// Записуємо рядок із змінної $ _POST [ "ip"] в дескриптор сокета.
fputs
($ sock, $ ip." R n") -// Відправляємо IP-адреса
$ text
=""-
while(!feof($ sock)){
$ text
.= fgets($ sock,256)."
"
-// Читаємо відповідь від сервера
}
fclose
($ sock) -// Закриваємо з`єднання
$ pattern
="| ReferralServer: whois: // ([^ nlt ;:] +) | i"-// Шукаємо реферальний сервер, якщо такий є
preg_match
($ pattern, $ text, $ out) -
if(!empty($ out[1]))return whois($ out[1], $ ip) -// Якщо рефереальний сервер знайдений, то звертаємося вже до нього
elsereturn $ text-// Якщо реферального сервера вже немає, то повертаємо результат відповіді
}
}
?gt;



Ось такий нескладний, але дуже корисний скрипт при аналізі тих, хто відвідує Ваші сайти. І все це засновано на роботі сервісу whois і роботі з ним через PHP.

Поділися в соціальних мережах:

Схожі
Обробка форми в phpОбробка форми в php
Сокети: клієнт на phpСокети: клієнт на php
Тестування php-скриптів через curlТестування php-скриптів через curl
Як дізнатися http-заголовки сервера через curlЯк дізнатися http-заголовки сервера через curl
Як динамічно отримувати коментарі з бази даних.Як динамічно отримувати коментарі з бази даних.
Робота з файлами в phpРобота з файлами в php
Як дізнатися країну по ip-адресою через phpЯк дізнатися країну по ip-адресою через php
Скасування повторної відправки формиСкасування повторної відправки форми
Ajax запити за допомогою методів $ .post () і $ .get ().Ajax запити за допомогою методів $ .post () і $ .get ().
Робота з cookie в phpРобота з cookie в php
» » Whois і php