Kako Saznati Ip Posjetitelja Stranice

Sadržaj:

Kako Saznati Ip Posjetitelja Stranice
Kako Saznati Ip Posjetitelja Stranice

Video: Kako Saznati Ip Posjetitelja Stranice

Video: Kako Saznati Ip Posjetitelja Stranice
Video: 💻Вычисление Человека По IP. Деанон В Сети💻 2024, Studeni
Anonim

Najčešće se za njegovu identifikaciju koristi IP adresa posjetitelja stranice. No osim toga, pomoću IP-a možete dobiti puno dodatnih podataka o posjetitelju - na primjer, saznati njegovog davatelja internetskih usluga i zemljopisni položaj. U praksi se PHP skripte na poslužitelju najčešće koriste za izdvajanje IP adresa iz zaglavlja zahtjeva koje šalje preglednik.

Kako saznati ip posjetitelja stranice
Kako saznati ip posjetitelja stranice

Nužno je

Osnovno znanje PHP-a

Upute

Korak 1

Koristite ugrađenu PHP-ovu funkciju getenv za čitanje IP adresa iz polja varijabli superglobalnog okruženja. U najjednostavnijem slučaju bit će dovoljno pročitati varijablu pod nazivom REMOTE_ADDR. Odgovarajući dio PHP koda mogao bi izgledati ovako: $ userIP = getenv ('REMOTE_ADDR');

Korak 2

Uz varijablu REMOTE_ADDR poslanu u zahtjevu, provjerite i varijable HTTP_VIA i HTTP_X_FORWARDED_FOR. Ako posjetitelj koristi proxy poslužitelj, tada se posredna adresa mora zabilježiti u obje varijable - i u HTTP_VIA i u REMOTE_ADDR. U ovom slučaju možete pokušati saznati stvarni IP posjetitelja putem HTTP_X_FORWARDED_FOR - proxy poslužitelj mora u njega staviti izvornu adresu. Međutim, to se ne radi uvijek, a korisnik ima priliku odabrati "neprozirni" proxy poslužitelj koji ne prenosi izvorni IP posjetitelja koji je poslao zahtjev. U svakom slučaju, trebali biste koristiti što više načina za dobivanje izvorne IP adrese u kodu dodavanjem provjere za varijablu

3. korak

Spojite u jedan redak PHP koda sekvencijalnu provjeru tri varijable okoline, koje mogu sadržavati izvornu IP adresu posjetitelja. To se može učiniti, na primjer, ovako: $ userIP = getenv ('HTTP_CLIENT_IP') ILI $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ILI $ userIP = getenv ('REMOTE_ADDR');

4. korak

Uklonite suvišne znakove i ostalo "smeće" iz rezultirajuće IP vrijednosti koja može ući u varijable okoline. To se može učiniti, na primjer, pomoću ugrađenih PHP funkcija TRIM i preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Korak 5

Kombinirajte sav kod u prilagođenu funkciju tako da se na njega možete pozvati, umjesto da ponavljate redove provjere i čišćenja u različitim dijelovima PHP skripti. Na primjer, ovako: FUNKCIJA getUserIP () {

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

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

}

Preporučeni: