Kako Ugotoviti Ip Obiskovalca Spletnega Mesta

Kazalo:

Kako Ugotoviti Ip Obiskovalca Spletnega Mesta
Kako Ugotoviti Ip Obiskovalca Spletnega Mesta

Video: Kako Ugotoviti Ip Obiskovalca Spletnega Mesta

Video: Kako Ugotoviti Ip Obiskovalca Spletnega Mesta
Video: Майнкрафт но СЛОМАННЫЙ Мод на Жару и Холод в Майнкрафте Троллинг Ловушка Minecraft 2024, Maj
Anonim

Najpogosteje se za njegovo identifikacijo uporablja naslov IP obiskovalca spletnega mesta. Poleg tega pa lahko z uporabo IP-ja dobite še veliko dodatnih informacij o obiskovalcu - na primer ugotovite njegovega ponudnika interneta in geografsko lokacijo. V praksi se za pridobivanje naslovov IP iz naslovov zahtev, ki jih pošlje brskalnik, najpogosteje uporabljajo PHP skripti na strežniški strani.

Kako ugotoviti ip obiskovalca spletnega mesta
Kako ugotoviti ip obiskovalca spletnega mesta

Potrebno je

Osnovno znanje PHP

Navodila

Korak 1

Za branje naslovov IP iz matrike spremenljivk okolja superglobal uporabite PHP-jevo vgrajeno funkcijo getenv. V najpreprostejšem primeru bo dovolj, da preberemo spremenljivko z imenom REMOTE_ADDR. Ustrezni del kode PHP je lahko videti tako: $ userIP = getenv ('REMOTE_ADDR');

2. korak

Poleg spremenljivke REMOTE_ADDR, poslane v zahtevi, preverite še spremenljivki HTTP_VIA in HTTP_X_FORWARDED_FOR. Če obiskovalec uporablja strežnik proxy, mora biti vmesni naslov zapisan v obe spremenljivki - v HTTP_VIA in REMOTE_ADDR. V tem primeru lahko poskusite ugotoviti dejanski IP obiskovalca prek HTTP_X_FORWARDED_FOR - proxy strežnik mora vanj vnesti izvirni naslov. Vendar se to ne naredi vedno in uporabnik ima možnost, da izbere "neprozoren" strežnik proxy, ki ne pošlje prvotnega IP-ja obiskovalca, ki je poslal zahtevo. V vsakem primeru uporabite čim več načinov za pridobitev prvotnega naslova IP v svoji kodi tako, da dodate preverjanje spremenljivke

3. korak

V eno vrstico kode PHP združite zaporedno preverjanje treh spremenljivk okolja, ki lahko vsebujejo izvirni naslov IP obiskovalca. To lahko storite na primer tako: $ userIP = getenv ('HTTP_CLIENT_IP') ALI $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ALI $ userIP = getenv ('REMOTE_ADDR');

4. korak

Iz nastale vrednosti IP odstranite odvečne znake in druge "smeti", ki lahko pridejo v spremenljivke okolja. To lahko na primer naredite z uporabo vgrajenih funkcij PHP TRIM in preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

5. korak

Vso kodo združite v funkcijo po meri, tako da se lahko sklicujete nanjo, namesto da bi v različnih delih skriptov PHP ponavljali vrstice za preverjanje in čiščenje znova in znova. Na primer, takole: FUNCTION getUserIP () {

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

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

}

Priporočena: