Ответов: 6 Просмотров: 16082
|
evgenijj пишет:maxfd пишет:Подскажите пожалуйста как узнать IP пользователя и IP прокси, если клиент подключен через прокси?
Цитата:
В элемент $_SERVER['REMOTE_ADDR'] помещается IP-адрес клиента. При тестировании на локальной машине — этот адрес будет равен 127.0.0.1. Однако при тестировании в сети переменная вернёт IP-адрес клиента или последнего прокси-сервера через который клиент попал на сервер. Если клиент использует прокси-сервер узнать его IP-адрес можно при помощи переменной окружения HTTP_X_FORWARDED_FOR, значение которой можно получить при помощи функции getenv().
http://www.php.su/articles/?cat=vars&page=015
Вот как я это понял: если переменная HTTP_X_FORWARDED_FOR пустая (или ее нету), то REMOTE_ADDR-это IP клиента. А если переменная HTTP_X_FORWARDED_FOR не пустая, то она содержит IP-клиента, а REMOTE_ADDR- IP прокси.
PHP:
скопировать код в буфер обмена
function findUserIP(){ //получаем HTTP_X_FORWARDED_FOR $forward_ip = @getenv('HTTP_X_FORWARDED_FOR'); $user_ip = @getenv('REMOTE_ADDR'); $proxy_ip = ''; } else{ $user_ip = $forward_ip; $proxy_ip = @getenv('REMOTE_ADDR'); } }
|