Як дізнатися ip клієнта

За IP-адресою відвідувача вашого сайту можна дізнатися про нього досить багато - країну, місто, назва і email-адреса інтернет-провайдера, і т.д. Але головна цінність в тому, що IP може служити ідентифікатором користувача для серверних скриптів. Нижче описано, яким чином можна визначити IP-адресу засобами мови PHP.

Відео: Пробиваємо людини | Дізнаємося ПІБ, номер телефону, адреса проживання ...

Як дізнатися ip клієнта

Вам знадобиться

  • Базове знання мови PHP

Відео: Як дізнатися чужий ip адресу вконтакте Як визначити ip чужого комп`ютера вконтакте

Інструкція

1


Для вилучення IP-адреси з заголовків, які присилаються на сервер запитів браузера, слід використовувати функцію getenv. Вона читає з змінних середовища зазначені їй значення. Для зберігання IP-адреси відвідувача призначена змінна з ім`ям REMOTE_ADDR. Однак клієнт може використовувати проксі-сервер, а в цьому випадку в змінної буде міститися його адресу, а зовсім не той, який вам потрібен. Дізнатися, що веб-серфер використовує проміжний IP, можна з змінної оточення з ім`ям HTTP_VIA. У неї через кому поміщаються всі адреси задіяних в ланцюжку проксі-серверів. Адреса відвідувача проміжні сервери зобов`язані розміщувати в змінну з ім`ям HTTP_X_FORWARDED_FOR, проте це повністю залежить від налаштувань проксі. Значить, щоб охопити якомога більше можливостей визначення IP-адреси, треба перевіряти вміст як мінімум трьох змінних: REMOTE_ADDR, HTTP_X_FORWARDED_FOR і ще бажано HTTP_CLIENT_IP.
2

Відео: Як дізнатися чужий ip онлайн



Об`єднати перевірку всіх трьох змінних в один рядок PHP-коду можна, наприклад, так:
$ IpAddr = getenv ( `HTTP_CLIENT_IP`) or $ ipAddr = getenv (` HTTP_X_FORWARDED_FOR`) or $ ipAddr = getenv ( `REMOTE_ADDR`);
Отримавши таким способом значення IP-адреси, бажано його очистити від можливих спотворень і зайвих символів. Для цього можна використовувати регулярний вираз:
$ IpAddr = trim (preg_replace ( `# ^ ([^,] +) (,. *)? #`, `$ 1 `, $ ipAddr)) -
3

Відео: Як дізнатися чужий IP адреса?

Залишилося об`єднати обидві рядки коду в одну функцію:
function getIP () {

$ IpAddr = getenv ( `HTTP_CLIENT_IP`) or $ ipAddr = getenv (` HTTP_X_FORWARDED_FOR`) or $ ipAddr = getenv ( `REMOTE_ADDR`);

return trim (preg_replace ( `# ^ ([^,] +) (,. *)? #`, `$ 1 `, $ ipAddr));

}



Увага, тільки СЬОГОДНІ!

Увага, тільки СЬОГОДНІ!
» » Як дізнатися ip клієнта