Si Të Zbuloni Ip-in E Klientit

Përmbajtje:

Si Të Zbuloni Ip-in E Klientit
Si Të Zbuloni Ip-in E Klientit

Video: Si Të Zbuloni Ip-in E Klientit

Video: Si Të Zbuloni Ip-in E Klientit
Video: Когда вам нужно 2 IP-адреса 2024, Nëntor
Anonim

Nga adresa IP e një vizitori në faqen tuaj, ju mund të mësoni shumë rreth tij - vendi, qyteti, emri dhe adresa e postës elektronike të ofruesit të internetit, etj. Por vlera kryesore është se IP mund të shërbejë si një ID e vizitorit për skriptet nga ana e serverit. Më poshtë përshkruhet se si mund të përcaktoni adresën IP duke përdorur PHP.

Si të zbuloni ip-in e klientit
Si të zbuloni ip-in e klientit

Është e nevojshme

Njohuri themelore të PHP

Udhëzimet

Hapi 1

Për të nxjerrë adresën IP nga titujt e dërguar në serverin e kërkesës së shfletuesit, përdorni funksionin getenv. Lexon vlerat e specifikuara për të nga ndryshoret e mjedisit. Një variabël me emrin REMOTE_ADDR përdoret për të ruajtur adresën IP të vizitorit. Sidoqoftë, klienti mund të përdorë një server proxy, në këtë rast variabla do të përmbajë adresën e saj, dhe jo atë që ju dëshironi. Ju mund të zbuloni se përdoruesi i faqes në internet po përdor një IP të ndërmjetme duke parë ndryshoren e mjedisit të quajtur HTTP_VIA. Të gjitha adresat e serverave të përfaqësimit të përfshirë në zinxhir vendosen në të, të ndara me presje. Serverët e ndërmjetëm duhet të vendosin adresën e vizitorit në një variabël të quajtur HTTP_X_FORWARDED_FOR, por kjo varet tërësisht nga cilësimet e përfaqësuesit. Kjo do të thotë që për të mbuluar sa më shumë mundësi të përcaktimit të adresës IP të jetë e mundur, duhet të kontrolloni përmbajtjen e të paktën tre variablave: REMOTE_ADDR, HTTP_X_FORWARDED_FOR dhe mundësisht

Hapi 2

Ju mund të kombinoni duke kontrolluar të tre variablat në një linjë të kodit PHP, për shembull, si kjo:

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

Pasi të keni marrë vlerën e adresës IP në këtë mënyrë, këshillohet që ta pastroni atë nga shtrembërimet e mundshme dhe karakteret e panevojshme. Ju mund të përdorni një shprehje të rregullt për këtë:

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

Hapi 3

Mbetet të kombinohen të dy linjat e kodit në një funksion:

funksioni getIP () {

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

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

}

Recommended: