2012-05-16 2 views
2

Мой сервер находится за прокси, и я пытаюсь получить IP пользователя, я использую в PHPPHP получить правильный IP

$IP = $_SERVER['HTTP_X_FORWARDED_FOR']; 

Проблема, которую я вижу в последнее время некоторые пользователи IP-адресов, как это ниже пример Ip's.

173.0.0.000, 190.000.00.01 
173.0.0.000, 190.000.00.02 
173.0.0.000, 190.000.00.03 
173.0.0.000, 190.000.00.04 
173.0.0.000, 190.000.00.05 

Как я могу получить только правильный IP-адрес, как показано ниже. Это не происходит на всех Ip's.

ответ

2

Формат для X-Forwarded-For: client1, proxy1, proxy2. Таким образом, вы хотите, чтобы захватить первый адрес в списке:

$IP = current(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])); 

echo $IP; // 173.0.0.000 

Это будет захватить первый IP-адрес, есть ли несколько адресов или только один.

Смежные вопросы