EDIT:
Я очистил кеш моего браузера и теперь мой PHP-код работает.
Я знаю, что уже есть подобные вопросы и что я не могу доверять $_SERVER['REMOTE_ADDR']
, чтобы получить реальный IP-адрес посетителя.
Я тестирую свой веб-сайт на локальном хосте, и я не поддерживаю какой-либо прокси-сервер, я пытаюсь отобразить мой IP-адрес, но $_SERVER['REMOTE_ADDR']
дает 127.0.0.1
, а именно IP-адрес сервера.
Если я размещу тот же код в сети на моем сервере, я снова получу IP-адрес сервера.
Я безуспешно пытался с:
function get_visitor_ip() {
$ipaddress = '';
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ipaddress .= $_SERVER['HTTP_CLIENT_IP'] . ' - ';
}
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ipaddress .= $_SERVER['HTTP_X_FORWARDED_FOR']. ' - ';
}
if(isset($_SERVER['HTTP_X_FORWARDED'])) {
$ipaddress .= $_SERVER['HTTP_X_FORWARDED']. ' - ';
}
if(isset($_SERVER['HTTP_FORWARDED_FOR'])) {
$ipaddress .= $_SERVER['HTTP_FORWARDED_FOR']. ' - ';
}
if(isset($_SERVER['HTTP_FORWARDED'])) {
$ipaddress .= $_SERVER['HTTP_FORWARDED']. ' - ';
}
if(isset($_SERVER['REMOTE_ADDR'])) {
$ipaddress .= $_SERVER['REMOTE_ADDR']. ' - ';
}
if($ipaddress == '') {
$ipaddress = 'UNKNOWN';
}
return $ipaddress;
}
Но опять же, возвращается 127.0.0.1
.
Есть альтернативное решение?