[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как получить реальный ip адрес клиента?
inpost
Привет! Я не знаю, правильно ли выбран админами php-frm, может стоило что-то другое брать, но как я понял после гугления - если nginx собран с php-frm , то mod_rpaf не будет работать. Тут же начал гуглить, и натыкаюсь на десяток статей, где написано, что если админы используют mod_rpaf на сервере - то прогнать прочь их надо. Последней каплей стало то, что Zend FrameWork пользуется не REMOTE_ADDR, а целым классом по определению ip. В общем я в замешательстве, стоит ли искать альтернативы на сервере вроде mod_rpaf, или взять какую-нибудь функцию или класс по определению ip адреса?
Что скажите.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Guest
Если между nginx и php-fpm ничего нет, то в php remote_addr будет иметь ip клиента.
inpost
apache+nginx+php-fpm, где apache - динамика, nginx - статика.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
bestxp
тут такая история как настроен nginx

/**
* Возвращает реальный ip пользователя
*
@return string
*/

function getUserHostAddress()
{

if (isset($_SERVER["HTTP_CLIENT_IP"])) {
return $_SERVER["HTTP_CLIENT_IP"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED"])) {
return $_SERVER["HTTP_X_FORWARDED"];
} elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) {
return $_SERVER["HTTP_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_FORWARDED"])) {
return $_SERVER["HTTP_FORWARDED"];
} elseif (isset($_SERVER["HTTP_X_REAL_IP"])) {
return $_SERVER["HTTP_X_REAL_IP"];
} else {
return $_SERVER["REMOTE_ADDR"];
}
}


в идеале хватает указанного выше

В случае если nginx настроен плохо, то ip будет локальным
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.