Hvordan Finne Ut IP-en Til En Besøkende

Innholdsfortegnelse:

Hvordan Finne Ut IP-en Til En Besøkende
Hvordan Finne Ut IP-en Til En Besøkende
Anonim

Oftest brukes IP-adressen til en besøkende for å identifisere ham. Men i tillegg til dette, ved hjelp av IP, kan du få mye tilleggsinformasjon om den besøkende - for eksempel finne ut internettleverandøren og geografiske plasseringen. I praksis brukes ofte PHP-skript på serversiden for å trekke ut IP-adresser fra forespørselsoverskriftene som sendes av nettleseren.

Hvordan finne ut IP-en til en besøkende
Hvordan finne ut IP-en til en besøkende

Det er nødvendig

Grunnleggende kunnskap om PHP

Bruksanvisning

Trinn 1

Bruk PHPs innebygde getenv-funksjon til å lese IP-adresser fra den superglobale miljøvariabelen. I det enkleste tilfellet vil det være nok å lese variabelen REMOTE_ADDR. Tilsvarende stykke PHP-kode kan se slik ut: $ userIP = getenv ('REMOTE_ADDR');

Steg 2

I tillegg til variabelen REMOTE_ADDR som sendes i forespørselen, må du sjekke variablene HTTP_VIA og HTTP_X_FORWARDED_FOR. Hvis den besøkende bruker en proxyserver, må mellomadressen registreres i begge variablene - i både HTTP_VIA og REMOTE_ADDR. I dette tilfellet kan du prøve å finne ut den virkelige IP-en til den besøkende gjennom HTTP_X_FORWARDED_FOR - proxy-serveren må legge den opprinnelige adressen i den. Dette gjøres imidlertid ikke alltid, og brukeren har muligheten til å velge en "ugjennomsiktig" proxy-server som ikke overfører den opprinnelige IP-adressen til den besøkende som sendte forespørselen. I alle fall bør du bruke så mange måter som mulig for å få den opprinnelige IP-adressen i koden din ved å legge til en sjekk for variabelen

Trinn 3

Sett sammen en linje med PHP-kode en sekvensiell sjekk av tre miljøvariabler som kan inneholde den besøkendes opprinnelige IP-adresse. Dette kan for eksempel gjøres slik: $ userIP = getenv ('HTTP_CLIENT_IP') ELLER $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ELLER $ userIP = getenv ('REMOTE_ADDR');

Trinn 4

Fjern ekstra tegn og annet "søppel" fra den resulterende IP-verdien som kan komme inn i miljøvariabler. Dette kan for eksempel gjøres ved å bruke de innebygde PHP-funksjonene TRIM og preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Trinn 5

Kombiner all koden til en tilpasset funksjon slik at du kan referere til den i stedet for å gjenta sjekk- og oppryddingslinjene om og om igjen i forskjellige deler av PHP-skriptene. For eksempel slik: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') ELLER $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ELLER $ userIP = getenv ('REMOTE_ADDR');

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

}

Anbefalt: