Hogyan Lehet Megtudni A Webhely Látogatójának IP-címét

Tartalomjegyzék:

Hogyan Lehet Megtudni A Webhely Látogatójának IP-címét
Hogyan Lehet Megtudni A Webhely Látogatójának IP-címét

Videó: Hogyan Lehet Megtudni A Webhely Látogatójának IP-címét

Videó: Hogyan Lehet Megtudni A Webhely Látogatójának IP-címét
Videó: Webhely karbantartás 2024, Lehet
Anonim

Leggyakrabban a webhely látogatójának IP-címét használják azonosítására. De ezen kívül az IP használatával rengeteg kiegészítő információt kaphat a látogatóról - például megtudhatja az internet szolgáltatóját és a földrajzi helyét. A gyakorlatban a szerveroldali PHP szkripteket használják leggyakrabban az IP-címek kinyerésére a böngésző által küldött kérésfejlécekből.

Hogyan lehet megtudni a webhely látogatójának IP-címét
Hogyan lehet megtudni a webhely látogatójának IP-címét

Szükséges

A PHP alapismeretei

Utasítás

1. lépés

A PHP beépített getenv funkciójával olvassa el az IP-címeket a szuperglobális környezeti változó tömbből. A legegyszerűbb esetben elég lesz elolvasni a REMOTE_ADDR nevű változót. A PHP-kód megfelelő része így nézhet ki: $ userIP = getenv ('REMOTE_ADDR');

2. lépés

A kérelemben elküldött REMOTE_ADDR változó mellett ellenőrizze a HTTP_VIA és a HTTP_X_FORWARDED_FOR változókat. Ha a látogató proxykiszolgálót használ, akkor a köztes címet mindkét változóban rögzíteni kell - mind a HTTP_VIA, mind a REMOTE_ADDR fájlban. Ebben az esetben megpróbálhatja kideríteni a látogató valódi IP-jét a HTTP_X_FORWARDED_FOR címen - a proxy szervernek be kell tennie az eredeti címet. Ez azonban nem mindig történik meg, és a felhasználónak lehetősége van kiválasztani egy "átlátszatlan" proxy szervert, amely nem továbbítja a kérést küldő látogató eredeti IP-címét. Mindenesetre minél többféleképpen kell használnia az eredeti IP-cím beolvasását a kódba a HTTP_CLIENT_IP változó ellenőrzésének hozzáadásával.

3. lépés

Összekapcsolja a PHP kód egy sorában három környezeti változó szekvenciális ellenőrzését, amelyek tartalmazhatják a látogató eredeti IP-címét. Ez például így tehető: $ userIP = getenv ('HTTP_CLIENT_IP') VAGY $ userIP = getenv ('HTTP_X_FORWARDED_FOR') VAGY $ userIP = getenv ('REMOTE_ADDR');

4. lépés

Távolítson el további karaktereket és egyéb "szemetet" az így kapott IP-értékből, amelyek bekerülhetnek a környezeti változókba. Ez például a TRIM és a preg_replace beépített PHP függvények használatával történhet: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

5. lépés

Kombinálja az összes kódot egy egyedi függvénybe, hogy hivatkozhasson rá ahelyett, hogy a PHP-szkriptek különböző részein újra és újra megismételné az ellenőrző és a tisztító sorokat. Például így: FUNCTION getUserIP () {

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

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

}

Ajánlott: