![]() |
Php - Определение Ip
Может кто-нибудь подсказать, реально ли через Php`овый скрипт определить серый Ip пользователя, сидяшего через Nat?
$_server["remote_addr"] и $_server["http_x_forwarded_for"] Несколько не то... |
нельзя )
Если конечно лишний заголовок не прилепляется ) |
только через java и подобные языки
|
Да, другим словом, через скрипты\аплеты , выполняющиеся на стороне пользователя...(java, flash и т.д)
|
Спасибо... Буду ковырять Java...
|
Попробуй так:
if (isSet($_SERVER)) { if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) { $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) { $realip = $_SERVER["HTTP_CLIENT_IP"]; } else { $realip = $_SERVER["REMOTE_ADDR"]; } } else { if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) { $realip = getenv( 'HTTP_X_FORWARDED_FOR' ); } elseif ( getenv( 'HTTP_CLIENT_IP' ) ) { $realip = getenv( 'HTTP_CLIENT_IP' ); } else { $realip = getenv( 'REMOTE_ADDR' ); } } $user_reg_id = $realip; $user_reg_host = gethostbyaddr($realip); |
только таким образом спокойно можно подделать айпи лишним заголовком ;)
|
Pashkela, не, не помогло... Моя тут озадачился... Вот идет пакет от узверя, через маршрутизатор. Маршрутизатор его натит на серв. Серв отвечает, маршрутизатору приходит ответ. У маршрутизатора 254 клиента. Которому слать? А он ведь знает... Значит где-то в хедерах оно есть. Притом не в пакете, иначе серв-бы клал-бы на это содержимое, а именно в заголовках. Просто по логике его не может не быть, иначе обратный нат получается невозможным. Следовательно ежели он есть, его можно выцепить. Я слабо знаком с php и не уверен, могет ли он енто делать, но по логике должен. Но в любом случае, на серве это выцепить можно, и не обязательны скрипты, запускающиеся на стороне пользователя. Кстати джава под никсами будет безполезна, потомучто смертный пользователь, от которого запущен браузер просто не сможет посмотреть ip. Тупо не хватит прав... Гугления чет мне особо ничего не дали =( но моя продолжает упорно ковырять, ибо скрипт нужен...
Цитата:
|
Попробуй
Код:
$_SERVER['HTTP_CLIENT_IP']Код:
$_SERVER['HTTP_X_REAL_IP'] |
Цитата:
====== Мож конечно я че накосячил, повторюсь, с php работаю недавно... PHP код:
|
| Время: 20:43 |