Настройки Linux VPS, позволяющие $ _SERVER ['REMOTE_ADDR'] получать IP-адрес клиента [закрыто]

У меня есть неуправляемый VPS-сервер. Я пытаюсь получить IP-адрес клиента из PHP $ _ SERVER ['REMOTE_ADDR'] , но он всегда дает мне то же самое для всех пользователей, что является внутренним IP-адресом сервера.

Я провел некоторые исследования и разработки и установил для этого брандмауэр на сервере, затем я проверил то же самое на другом моем VPS-сервере, но здесь он дает правильный IP-адрес клиента. Теперь я уверен, что на моем первом VPS также будут некоторые параметры конфигурации, которые могут дать мне правильный IP-адрес клиента.

Пожалуйста, дайте мне знать, какую конфигурацию мне нужно сделать на сервере, чтобы получить это.

РЕДАКТИРОВАТЬ -

Как только я заметил разницу -

На VPS 1, где у него нестандартный порт ssh 27560. Другой может быть доступен через порт 22. Я не уверен, что это создает проблему здесь. Пожалуйста, предложите.

1
задан 13 November 2014 в 12:00
1 ответ

Не знаю, какой брандмауэр вы используете, но похоже, что он проксирует веб-трафик через себя. Если он работает как прокси-сервер, то может быть установлена переменная $_SERVER['HTTP_X_FORWARDED_FOR']. Если это так, то можно проверить, установлена ли она, и если да, то использовать ее. В противном случае, вернитесь к REMOTE_ADDR.

Обратите внимание также, что IP клиента может быть подделан довольно легко, поэтому я надеюсь, что не критично получить правильный IP во всех случаях (т.е. я надеюсь, что безопасность в частности не зависит только от этого).

.
1
ответ дан 4 December 2019 в 00:15

Теги

Похожие вопросы