Отказоустойчивый способ получения внешнего (не частного) IP-адреса на CakePHP? - PullRequest
1 голос
/ 14 июня 2009

Метод getClientIP () , который поставляется с CakePHP, иногда возвращает частные IP-адреса. Например, IP-адреса, такие как 127.0.0.1 или 192.x.x.x. Я предполагаю, что это вызвано прокси.

Глядя на код getClientIP () , кажется, что он пытается решить проблемы с прокси, но на самом деле не проверяет, является ли IP частным или нет.

Как лучше всего получить реальный, не частный IP-адрес?

Спасибо.

1 Ответ

2 голосов
/ 14 июня 2009

Попробуйте позвонить getClientIp(false). Если это не сработает, вы можете просто использовать $_SERVER["REMOTE_ADDR"] напрямую. Он всегда будет содержать внешний IP-адрес, который фактически подключен к серверу. Этим адресом нельзя манипулировать, в отличие от заголовков http, предназначенных для прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...