Como Descobrir O Ip De Um Visitante Do Site

Índice:

Como Descobrir O Ip De Um Visitante Do Site
Como Descobrir O Ip De Um Visitante Do Site

Vídeo: Como Descobrir O Ip De Um Visitante Do Site

Vídeo: Como Descobrir O Ip De Um Visitante Do Site
Vídeo: Como descobrir o endereço IP de uma pessoa? 2024, Novembro
Anonim

Na maioria das vezes, o endereço IP de um visitante do site é usado para identificá-lo. Mas além disso, usando o IP, você pode obter muitas informações adicionais sobre o visitante - por exemplo, descobrir seu provedor de Internet e sua localização geográfica. Na prática, os scripts PHP do lado do servidor são usados com mais frequência para extrair endereços IP dos cabeçalhos de solicitação enviados pelo navegador.

Como descobrir o ip de um visitante do site
Como descobrir o ip de um visitante do site

É necessário

Conhecimento básico de PHP

Instruções

Passo 1

Use a função getenv embutida do PHP para ler endereços IP do array de variáveis de ambiente superglobal. No caso mais simples, será suficiente ler a variável chamada REMOTE_ADDR. A parte correspondente do código PHP pode ter a seguinte aparência: $ userIP = getenv ('REMOTE_ADDR');

Passo 2

Além da variável REMOTE_ADDR enviada na solicitação, verifique as variáveis HTTP_VIA e HTTP_X_FORWARDED_FOR. Se o visitante usar um servidor proxy, o endereço intermediário deve ser registrado em ambas as variáveis - em HTTP_VIA e REMOTE_ADDR. Neste caso, você pode tentar descobrir o IP real do visitante através de HTTP_X_FORWARDED_FOR - o servidor proxy deve colocar o endereço original nele. Porém, nem sempre isso é feito, e o usuário tem a oportunidade de selecionar um servidor proxy "opaco" que não transmite o IP original do visitante que enviou a solicitação. Em qualquer caso, você deve usar todas as maneiras possíveis para obter o endereço IP original em seu código, adicionando uma verificação para a variável

etapa 3

Concatene em uma linha de código PHP uma verificação sequencial de três variáveis de ambiente, que podem conter o endereço IP original do visitante. Isso pode ser feito, por exemplo, assim: $ userIP = getenv ('HTTP_CLIENT_IP') OR $ userIP = getenv ('HTTP_X_FORWARDED_FOR') OR $ userIP = getenv ('REMOTE_ADDR');

Passo 4

Remova caracteres extras e outros "lixo" do valor IP resultante que pode entrar nas variáveis de ambiente. Isso pode ser feito, por exemplo, usando as funções embutidas do PHP TRIM e preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Etapa 5

Combine todo o código em uma função personalizada para que você possa consultá-lo em vez de repetir as linhas de verificação e limpeza indefinidamente em diferentes partes de seus scripts PHP. Por exemplo, assim: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') OU $ userIP = getenv ('HTTP_X_FORWARDED_FOR') OR $ userIP = getenv ('REMOTE_ADDR');

RETURN TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

Recomendado: