Возможный дубликат:
Функция для получения IP-адреса пользователя
<?PHP $ipaddress = $_SERVER["REMOTE_ADDR"]; echo "Your IP is $ipaddress!"; ?>
Мне сказали, что таким образом получить ip-адрес имеет такие проблемы, как возможность дурачить. Есть ли лучший способ собрать ip-адрес? ищет учебники лучшего способа получить IP-адрес?
$_SERVER['REMOTE_ADDR']
– это единственный надежный IP-адрес, который вы получите – он извлекается непосредственно из стека TCP и с которого установлено текущее соединение. Это означает, что если пользователь подключается через прокси-сервер, вы получите адрес прокси-сервера, а не пользователя.
Любые другие заголовки, основанные на заголовках, ненадежны, поскольку заголовки HTTP тривиальны для подделывания. Вы можете использовать информацию из них, если хотите, до тех пор, пока вы НЕ ДОЛЖНЫ это сделать.