Kā Uzzināt Vietnes Apmeklētāja Ip

Satura rādītājs:

Kā Uzzināt Vietnes Apmeklētāja Ip
Kā Uzzināt Vietnes Apmeklētāja Ip
Anonim

Visbiežāk viņa identificēšanai tiek izmantota vietnes apmeklētāja IP adrese. Bet papildus tam, izmantojot IP, jūs varat iegūt daudz papildu informācijas par apmeklētāju - piemēram, uzzināt viņa interneta pakalpojumu sniedzēju un ģeogrāfisko atrašanās vietu. Praksē IP adreses no pārlūkprogrammas sūtītajām pieprasījumu galvenēm visbiežāk izmanto servera puses PHP skriptus.

Kā uzzināt vietnes apmeklētāja ip
Kā uzzināt vietnes apmeklētāja ip

Tas ir nepieciešams

PHP pamatzināšanas

Instrukcijas

1. solis

Izmantojiet PHP iebūvēto getenv funkciju, lai lasītu IP adreses no superglobālās vides mainīgā masīva. Vienkāršākajā gadījumā būs pietiekami, lai izlasītu mainīgo ar nosaukumu REMOTE_ADDR. Attiecīgais PHP koda gabals varētu izskatīties šādi: $ userIP = getenv ('REMOTE_ADDR');

2. solis

Papildus pieprasījumā nosūtītajam mainīgajam REMOTE_ADDR pārbaudiet mainīgos HTTP_VIA un HTTP_X_FORWARDED_FOR. Ja apmeklētājs izmanto starpniekserveri, starpposma adrese jāreģistrē abos mainīgajos - gan HTTP_VIA, gan REMOTE_ADDR. Šajā gadījumā jūs varat mēģināt uzzināt patieso apmeklētāja IP, izmantojot HTTP_X_FORWARDED_FOR - starpniekserverim tajā jāievieto sākotnējā adrese. Tomēr tas ne vienmēr tiek darīts, un lietotājam ir iespēja izvēlēties "necaurspīdīgu" starpniekserveri, kas nenosūta pieprasījuma nosūtītāja apmeklētāja sākotnējo IP. Jebkurā gadījumā jums jāizmanto pēc iespējas vairāk veidu, kā iegūt sākotnējo IP adresi savā kodā, pievienojot pārbaudi mainīgajam

3. solis

Apvienojiet vienā PHP koda rindā secīgu trīs vides mainīgo pārbaudi, kas var saturēt apmeklētāja sākotnējo IP adresi. To var izdarīt, piemēram, šādi: $ userIP = getenv ('HTTP_CLIENT_IP') VAI $ userIP = getenv ('HTTP_X_FORWARDED_FOR') VAI $ userIP = getenv ('REMOTE_ADDR');

4. solis

Noņemt papildu rakstzīmes un citus atkritumus no iegūtās IP vērtības, kas var nonākt vides mainīgajos. To var izdarīt, piemēram, izmantojot iebūvētās PHP funkcijas TRIM un preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

5. solis

Apvienojiet visu kodu pielāgotā funkcijā, lai jūs varētu uz to atsaukties, nevis atkārtot pārbaudes un tīrīšanas rindas atkārtoti dažādās PHP skriptu daļās. Piemēram, šādi: FUNCTION getUserIP () {

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

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

}

Ieteicams: