|
|
|
|
|
для: Shorr Kan
(25.03.2005 в 20:52)
| |
if(@$_SERVER["HTTP_CLIENT_IP"]){$ip=$_SERVER["HTTP_CLIENT_IP"];}
elseif(@$_SERVER["HTTP_X_FORWARDED_FOR"]){$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];}
else{$ip=@$_SERVER["REMOTE_ADDR"];}
if($ip==""){$ip=@$_SERVER["REMOTE_ADDR"];}
|
И еще... вот этот код будет повернее того, что я приводил в самом начале (отличие в наличии последней строки) ? | |
|
|
|
|
|
|
|
для: Shorr Kan
(25.03.2005 в 19:25)
| | Мне вот что сказали:
REMOTE_ADDR - это уникальный адрес для всего интернета, такого в сети больше нет, есть толькоодин адрес.
HTTP_X_FORWARDED_FOR - это внутресетвой адрес. Он может практически любым...
Определись. Если ты делаешь приложение для локальной сети, гдже все клиенты сидят за ОДНОЙ И ТОЙ ЖЕ ПРОКСЕЙ, тогда пользуй HTTP_X_FORWARDED_FOR.
Если ты делаешь внешнее приложение, тогда пользуй REMOTE_ADDR и забудь за HTTP_X_FORWARDED_FOR.
Если тебе нужно отслеживать внешню и внутреннюю посещаемость по адресам - пользуй ДВЕ перменные. Потому что:
а) что тебе даст внутренний IP неизвестной тебе сети, кроме набора цифр
б) HTTP_X_FORWARDED_FOR - есть необязательная перменная, есть прокси которые "режут" этот HTTP_X_FORWARDED_FOR.
Это верно? Я думал иначе... Может, где-то можно подробно почитать об этих трех заголовках? Распутайте, пожалуйста, то, во что я запутался... | |
|
|
|
|
|
|
|
для: Shorr Kan
(25.03.2005 в 18:02)
| | О, скажите... А верным ли будет исправление:
if(@$_SERVER["HTTP_CLIENT_IP"]){$ip=$_SERVER["HTTP_CLIENT_IP"];}
elseif(@$_SERVER["HTTP_X_FORWARDED_FOR"]){$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];}
else{$ip=@$_SERVER["REMOTE_ADDR"];}
if($ip==""){$ip=@$_SERVER["REMOTE_ADDR"];}
|
? | |
|
|
|
|
|
|
|
для: cheops
(25.03.2005 в 09:27)
| | Да, но я еще могу понять пустое поле.... срезали все заголовки. А как быть с этим странным "unknow, первая_половина_айпи" ? | |
|
|
|
|
|
|
|
для: Shorr Kan
(25.03.2005 в 02:30)
| | Люди скрывают свой IP-адрес, у кого параноя, кому это нужнго для злого умысла, кто для кича... но такое бывает. | |
|
|
|
|
|
|
|
if(@$_SERVER["HTTP_CLIENT_IP"]){$ip=$_SERVER["HTTP_CLIENT_IP"];}
elseif(@$_SERVER["HTTP_X_FORWARDED_FOR"]){$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];}
else{$ip=@$_SERVER["REMOTE_ADDR"];}
|
Бывает, ip просто пуст. В базу записывается NULL. А у кое-кого вообще записалось
"unknown, 213.179". Почему? | |
|
|
|
|