xmoonlight
@xmoonlight
https://sitecoder.blogspot.com

Определение IP-адреса. Какой выбрать?

Вот ситуация:
$_SERVER['HTTP_X_FORWARDED_FOR']: 111.111.111.111
$_SERVER['REMOTE_ADDR']: 222.222.222.222
Какой IP посетителя считать верным?
Если заголовков будет больше?
Есть ли единый правильный метод определения IP пользователя?
Спасибо.
  • Вопрос задан
  • 5064 просмотра
Решения вопроса 1
xmoonlight
@xmoonlight Автор вопроса
https://sitecoder.blogspot.com
Только так: $_SERVER['REMOTE_ADDR'];
т.к. все остальное - подделывается :(
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Эта статья Вам поможет
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
Какой IP посетителя считать верным?

Оба.

Есть ли единый правильный метод определения IP пользователя?

Логировать всё.

В общем случае - писать REMOTE_ADDR. Свои веб-сервера настраивать на выдачу REMOTE_ADDR в тот адрес, который открыл соединение до фронтенда.
Ответ написан
Комментировать
private function getUserIp(){
        if (!empty($_SERVER['HTTP_X_REAL_IP']))   //check ip from share internet
        {
            $ip=$_SERVER['HTTP_X_REAL_IP'];
        }
        elseif (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
        {
            $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
        {
            $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
            $ip=$_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
от 300 000 до 500 000 ₽
07 мая 2024, в 22:37
25000 руб./за проект
07 мая 2024, в 22:24
7000 руб./за проект
07 мая 2024, в 21:57
600 руб./за проект