Não, não funciona e isso já foi altamente discutido em várias listas de PHP.

Também sei de toda essa teoria de TCP/IP, HTTP, NAT e afins. O que você
consegue é pegar o ip público, o interno não. Logo, não funciona sempre.

Se o servidor está na mesma rede 192.168.x.x, o REMOTE_ADDR de $_SERVER
resolve, caso contrário, se a conexão for via NAT, não tem como.
Se a sua conexão com o servidor é sobre NAT (digamos vc numa rede local,
acessa um servidor na internet), não tem como pegar.
Com applet você consegue, mas com php direto não.
Se for IP interno não tem como. Mesma coisa se tentar pegar o MAC do
visitante.

Em VOIP, por exemplo, NAT é um problema. No caso de VOIP, especificamente,
você consegue pegar o ip público e o interno, devido as protocolos. Mas o
php direto não te dá essa informação.

[]'s

2010/6/5 Marcello Fontolan <marce...@fontolan.com.br>

> Desculpe pela informação incompleta...
>
> Em 05/06/2010 01:11, Marco Catunda escreveu:
>
>  Sim funciona. Só para esclarecer que o REMOTE_ADDR não tem nada a ver
>> com IP de origem do pacote TCP, por isso que funciona. O REMOTE_ADDR é
>> uma variável do protocolo HTTP e o pacote HTTP é montado no cliente. Por
>> isso que o REMOTE_ADDR se mantém, ao longo de todos os NATs. No cabeçalho
>> do pacote TCP o IP de origem deve ser alterado em cada NAT para que o
>> roteamento
>> de volta do pacote (resposta) possa funcionar.
>>
>> On 05/06/2010, at 00:50, marce...@fontolan.com.br wrote:
>>
>>
>>
>>> Não quero criar uma discussão, mas funciona sim... a informação do IP de
>>> origem é mantido no pacote TCP/IP e chega ao servidor, mesmo passando por
>>> NAT, como um modem ADSL com NAT, por exemplo.
>>> Tenho isto funcionando em alguns ambientes e, dentro deles, mais de um
>>> ADSL residencial com NAT inclusive traduzindo a porta externa 8080 para
>>> interna 80 pois a operadora bloqueia a 80.
>>> Em um caso especifico, NAT sobre outro NAT.
>>>
>>> sds,
>>>
>>> Marcello
>>>
>>>
>>>
>>>> Se passar por NAT, por exemplo, não funciona.
>>>>
>>>> []'s
>>>>
>>>> 2010/6/4 Marcello Fontolan<marce...@fontolan.com.br>
>>>>
>>>>
>>>>
>>>>> Em PHP, a variável "$_SERVER['REMOTE_ADDR']" contem o IP do cliente,
>>>>> assim
>>>>> como "$_SERVER['HTTP_USER_AGENT']" contem o navegador que ele está
>>>>> usando.
>>>>>
>>>>> sds
>>>>>
>>>>> Marcello
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>> Para sair da lista, envie um email em branco para
>>> flexdev-unsubscr...@googlegroups.com
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>>
>>
>>
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Zaedy Dantas Sayão
Graduando em Ciência da Computação DCC/UFRJ
http://www.manufato.com.br/
MSN: zaedy_z...@hotmail.com

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a