Não, depende do caso. Não sei qual o caso dele. Eu já vi vários casos onde se precisa do ip específico do usuário. Como disse e você mesmo agora concordou, não funciona em todos os casos. Pra maioria deles, atende, mas nem sempre.
Um caso simples, um cara num rede faz algo e você quer bloquear só ele. Se você não tiver o ip dele, vai bloquer toda a rede, num caso desse que citei. []'s 2010/6/5 Marcello Fontolan <marce...@fontolan.com.br> > Mas é claro que você não vai pegar o IP interno do usuário. > A função de um roteador é justamente fazer o "mascaramento" desta > informação e saber para quem deve devolver o pacote quando ele retornar. > Quando se fala em IP do cliente, me parece obvio que estamos falando do IP > válido de onde a conexão originou e não do IP de determinada máquina dentro > de uma rede local. > > sds, > > Marcello > > > Em 05/06/2010 10:34, Zaedy Sayão escreveu: > > 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 > > -- > 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