Hoe Het IP-adres Van Een Sitebezoeker Te Achterhalen?

Inhoudsopgave:

Hoe Het IP-adres Van Een Sitebezoeker Te Achterhalen?
Hoe Het IP-adres Van Een Sitebezoeker Te Achterhalen?

Video: Hoe Het IP-adres Van Een Sitebezoeker Te Achterhalen?

Video: Hoe Het IP-adres Van Een Sitebezoeker Te Achterhalen?
Video: How To Know The People Visiting Your Site, Country, IP Address And Browser 2024, Mei
Anonim

Meestal wordt het IP-adres van een sitebezoeker gebruikt om hem te identificeren. Maar daarnaast kunt u met IP veel aanvullende informatie over de bezoeker krijgen - bijvoorbeeld zijn internetprovider en geografische locatie achterhalen. In de praktijk worden server-side PHP-scripts meestal gebruikt om IP-adressen te extraheren uit de verzoekheaders die door de browser worden verzonden.

Hoe het IP-adres van een sitebezoeker te achterhalen?
Hoe het IP-adres van een sitebezoeker te achterhalen?

Het is nodig

Basiskennis van PHP

instructies:

Stap 1

Gebruik de ingebouwde getenv-functie van PHP om IP-adressen uit de superglobale omgevingsvariabele array te lezen. In het eenvoudigste geval is het voldoende om de variabele genaamd REMOTE_ADDR te lezen. Het corresponderende stukje PHP-code kan er als volgt uitzien: $ userIP = getenv ('REMOTE_ADDR');

Stap 2

Controleer naast de variabele REMOTE_ADDR die in het verzoek is verzonden, de variabelen HTTP_VIA en HTTP_X_FORWARDED_FOR. Als de bezoeker een proxyserver gebruikt, moet het tussenadres in beide variabelen worden vastgelegd - in zowel HTTP_VIA als REMOTE_ADDR. In dit geval kunt u proberen het echte IP-adres van de bezoeker te achterhalen via HTTP_X_FORWARDED_FOR - de proxyserver moet het originele adres erin invoeren. Dit wordt echter niet altijd gedaan en de gebruiker heeft de mogelijkheid om een "ondoorzichtige" proxyserver te selecteren die niet het oorspronkelijke IP-adres verzendt van de bezoeker die het verzoek heeft verzonden. In ieder geval moet u zoveel mogelijk manieren gebruiken om het oorspronkelijke IP-adres in uw code te krijgen door een vinkje toe te voegen voor de

Stap 3

Voeg in één regel PHP-code een sequentiële controle van drie omgevingsvariabelen samen, die het oorspronkelijke IP-adres van de bezoeker kunnen bevatten. Dit kan bijvoorbeeld als volgt worden gedaan: $ userIP = getenv ('HTTP_CLIENT_IP') OF $ userIP = getenv ('HTTP_X_FORWARDED_FOR') OF $ userIP = getenv ('REMOTE_ADDR');

Stap 4

Verwijder extra tekens en andere "vuilnis" uit de resulterende IP-waarde die in omgevingsvariabelen kan komen. Dit kan bijvoorbeeld met de ingebouwde PHP-functies TRIM en preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ gebruikersIP));

Stap 5

Combineer alle code in een aangepaste functie, zodat u ernaar kunt verwijzen in plaats van de regels voor controle en opschonen steeds opnieuw te herhalen in verschillende delen van uw PHP-scripts. Bijvoorbeeld als volgt: FUNCTIE getUserIP () {

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

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

}

Aanbevolen: