Hoe Om Die Kliënt Se IP Te Ontdek

INHOUDSOPGAWE:

Hoe Om Die Kliënt Se IP Te Ontdek
Hoe Om Die Kliënt Se IP Te Ontdek

Video: Hoe Om Die Kliënt Se IP Te Ontdek

Video: Hoe Om Die Kliënt Se IP Te Ontdek
Video: пиши какие факты не знал IP kirmine.gomc.fun мой сервер 2024, Mei
Anonim

Aan die hand van die IP-adres van 'n besoeker op u webwerf kan u baie oor hom uitvind - land, stad, naam en e-posadres van die internetverskaffer, ens. Maar die belangrikste waarde is dat die IP kan dien as 'n besoekers-ID vir skrifte aan die bedienerskant. Hieronder word beskryf hoe u die IP-adres met behulp van PHP kan bepaal.

Hoe om die kliënt se IP te ontdek
Hoe om die kliënt se IP te ontdek

Dit is nodig

Basiese kennis van PHP

Instruksies

Stap 1

Gebruik die getenv-funksie om die IP-adres te onttrek uit die opskrifte wat na die blaaierversoekbediener gestuur word. Dit lees die waardes wat daaruit gespesifiseer word uit die omgewingsveranderlikes. 'N Veranderlike genaamd REMOTE_ADDR word gebruik om die besoeker se IP-adres te stoor. Die kliënt kan egter 'n instaanbediener gebruik, in welke geval die veranderlike sy adres bevat en nie die adres wat u wil hê nie. U kan agterkom dat die internet surfer 'n intermediêre IP gebruik deur na die omgewingsveranderlike genaamd HTTP_VIA te kyk. Alle adresse van die proxy-bedieners wat by die ketting betrokke is, word daarin geplaas, geskei deur komma's. Tussenbedieners moet die adres van die besoeker in 'n veranderlike met die naam HTTP_X_FORWARDED_FOR plaas, maar dit hang heeltemal af van die instellings vir die instaanbediener. Dit beteken dat u die inhoud van ten minste drie veranderlikes moet nagaan om soveel moontlik moontlikhede te vind om die IP-adres te bepaal: REMOTE_ADDR, HTTP_X_FORWARDED_FOR, en verkieslik

Stap 2

U kan byvoorbeeld al drie veranderlikes in een lyn PHP-kode kombineer, soos volg:

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

Nadat u die waarde van die IP-adres op hierdie manier verkry het, is dit raadsaam om dit van moontlike verwringings en onnodige karakters te verwyder. U kan 'n gewone uitdrukking hiervoor gebruik:

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

Stap 3

Dit bly om beide reëls kode in een funksie te kombineer:

funksie getIP () {

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

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

}

Aanbeveel: