У меня проблема, и это происходит только на моем ПК (Windows 7 64bit), если я повторяю следующее:
echo $_SERVER['REMOTE_ADDR'];
Я получаю: ::1
::1
То же самое, если я вставлю в базу данных.
????
::1 эквивалентно 127.0.0.1 в IPv6.Этот адрес также равен localhost, если ваш файл hosts не был изменен.
127.0.0.1
localhost
Легко :: 1 действительно является результатом localhost, но если вы используете это, в противном случае вы можете подделать ваш localhost:
$ ip = $ _SERVER ['REMOTE_ADDR'];
if($ip == '::1') { echo '127.0.0.1'; } else { echo $ip; }