просмотров:9010 | комметариев: 1
Получение IP-адреса пользователя

В книгах по PHP часто встречаются примеры в которых описано, как можно определить ip адрес юзера зашедшего к вам на сайт. Для этого предлагают прочитать значение элемента 'REMOTE_ADDR' массива $_SERVER и все. Но не все так однозначно в этом мире. Эта конструкция не всегда работает корректно, т.е. не всегда содержит реальный IP адрес. Если юзер зашел через прокси-сервер, то $_SERVER['REMOTE_ADDR'] вернет вам адрес этого прокси-сервера. А оно вам надо?

Для того чтобы добраться до реального адреса посетителя, нужно сначала попытаться считать значения $_SERVER['HTTP_CLIENT_IP'], а затем в случае неудачи $_SERVER['HTTP_X_FORWARDED_FOR']. А уж потом, если ip считать не удалось, то считываем наше заветное SERVER['REMOTE_ADDR']. Все вышесказанное реализовано в ниже написанной функции.

function get_real_ip() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } Пример использования: $ip = get_real_ip();

просмотров:9010 | комметариев: 1
Галина
02 августа 2019, 17:08
Очень интересная информация.
Но я новичок и не поняла, как эту тему реально внедрить.
Нужен пример файла. Это должен быть файл ip.php или ip.index
Помогите пожалуйста!
просмотров:9010 | комметариев: 1

Оставить комментарий:    

Ваше имя:
 
Текст комментария:
 
+ 1 =