Kako Najti Ip Stranke

Kazalo:

Kako Najti Ip Stranke
Kako Najti Ip Stranke

Video: Kako Najti Ip Stranke

Video: Kako Najti Ip Stranke
Video: Как найти человека по IP адресу, определяем местоположение 2024, Maj
Anonim

Po naslovu IP obiskovalca vašega spletnega mesta lahko o njem izveste precej veliko - državo, mesto, ime in e-poštni naslov ponudnika interneta itd. Toda glavna vrednost je, da lahko IP služi kot ID obiskovalca za skripte na strani strežnika. Spodaj je opisano, kako lahko z uporabo PHP določite naslov IP.

Kako najti ip stranke
Kako najti ip stranke

Potrebno je

Osnovno znanje PHP

Navodila

Korak 1

Če želite iz naslovov, poslanih strežniku zahtev brskalnika, izvleči naslov IP, uporabite funkcijo getenv. Vrednosti, ki so mu določene, bere iz spremenljivk okolja. Spremenljivka z imenom REMOTE_ADDR se uporablja za shranjevanje naslova IP obiskovalca. Vendar lahko odjemalec uporabi strežnik proxy, v tem primeru bo spremenljivka vsebovala svoj naslov in ne želenega. Ugotovite lahko, da spletni deskar uporablja vmesni IP, tako da pogledate spremenljivko okolja, imenovano HTTP_VIA. Vanj so umeščeni vsi naslovi posredniških strežnikov, vključenih v verigo, ločeni z vejicami. Vmesni strežniki morajo naslov obiskovalca postaviti v spremenljivko z imenom HTTP_X_FORWARDED_FOR, vendar je to v celoti odvisno od nastavitev proxyja. To pomeni, da morate zajeti čim več možnosti določanja naslova IP, preveriti vsebino vsaj treh spremenljivk: REMOTE_ADDR, HTTP_X_FORWARDED_FOR in po možnosti

2. korak

Preverjanje vseh treh spremenljivk lahko združite v eno vrstico kode PHP, na primer tako:

$ ipAddr = getenv ('HTTP_CLIENT_IP') ali $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') ali $ ipAddr = getenv ('REMOTE_ADDR');

Ko smo na ta način dobili vrednost naslova IP, je priporočljivo, da ga očistimo pred morebitnimi izkrivljanji in nepotrebnimi znaki. Za to lahko uporabite regularni izraz:

$ ipAddr = trim (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

3. korak

Še vedno je treba združiti obe vrstici kode v eno funkcijo:

funkcija getIP () {

$ ipAddr = getenv ('HTTP_CLIENT_IP') ali $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') ali $ ipAddr = getenv ('REMOTE_ADDR');

vrni trim (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

}

Priporočena: