Hur Man Tar Reda På Ip För En Webbplatsbesökare

Innehållsförteckning:

Hur Man Tar Reda På Ip För En Webbplatsbesökare
Hur Man Tar Reda På Ip För En Webbplatsbesökare

Video: Hur Man Tar Reda På Ip För En Webbplatsbesökare

Video: Hur Man Tar Reda På Ip För En Webbplatsbesökare
Video: How To Know The People Visiting Your Site, Country, IP Address And Browser 2024, November
Anonim

Oftast används en besökares IP-adress för att identifiera honom. Men förutom detta, med hjälp av IP, kan du få mycket ytterligare information om besökaren - till exempel ta reda på hans internetleverantör och geografiska plats. I praktiken används PHP-skript på serversidan oftast för att extrahera IP-adresser från förfrågningsrubrikerna som skickas av webbläsaren.

Hur man tar reda på ip för en webbplatsbesökare
Hur man tar reda på ip för en webbplatsbesökare

Det är nödvändigt

Grundläggande kunskaper i PHP

Instruktioner

Steg 1

Använd PHP: s inbyggda getenv-funktion för att läsa IP-adresser från den superglobala miljövariabeln. I det enklaste fallet räcker det att läsa variabeln REMOTE_ADDR. Motsvarande del av PHP-kod kan se ut så här: $ userIP = getenv ('REMOTE_ADDR');

Steg 2

Förutom variabeln REMOTE_ADDR som skickas i begäran, kontrollera variablerna HTTP_VIA och HTTP_X_FORWARDED_FOR. Om besökaren använder en proxyserver måste mellanadressen registreras i båda variablerna - i både HTTP_VIA och REMOTE_ADDR. I det här fallet kan du försöka ta reda på besökarens verkliga IP via HTTP_X_FORWARDED_FOR - proxyservern måste lägga in den ursprungliga adressen i den. Detta görs dock inte alltid, och användaren har möjlighet att välja en "ogenomskinlig" proxyserver som inte överför den ursprungliga IP-adressen för den besökare som skickade begäran. I vilket fall som helst bör du använda så många sätt som möjligt för att få den ursprungliga IP-adressen i din kod genom att lägga till en check för

Steg 3

Sammanfoga i en rad PHP-kod en sekventiell kontroll av tre miljövariabler, som kan innehålla besökarens ursprungliga IP-adress. Detta kan till exempel göras så här: $ userIP = getenv ('HTTP_CLIENT_IP') ELLER $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ELLER $ userIP = getenv ('REMOTE_ADDR');

Steg 4

Ta bort extra tecken och annat "skräp" från det resulterande IP-värdet som kan komma in i miljövariabler. Detta kan exempelvis göras med de inbyggda PHP-funktionerna TRIM och preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Steg 5

Kombinera all kod i en anpassad funktion så att du kan hänvisa till den istället för att upprepa kontroll- och rensningsraderna om och om igen i olika delar av dina PHP-skript. Till exempel så här: FUNCTION getUserIP () {

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

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

}

Rekommenderad: