Kuinka Selvittää Asiakkaan Ip

Sisällysluettelo:

Kuinka Selvittää Asiakkaan Ip
Kuinka Selvittää Asiakkaan Ip

Video: Kuinka Selvittää Asiakkaan Ip

Video: Kuinka Selvittää Asiakkaan Ip
Video: Как узнать IP адрес роутера, чтоб зайти в его настройки? 2024, Joulukuu
Anonim

Sivustosi kävijän IP-osoitteen perusteella voit tietää hänestä melko paljon - maan, kaupungin, Internet-palveluntarjoajan nimen ja sähköpostiosoitteen jne. Pääarvo on kuitenkin se, että IP-osoite voi toimia vierailija-tunnuksena palvelinpuolen komentosarjoille. Alla on kuvattu, kuinka voit määrittää IP-osoitteen PHP: llä.

Kuinka selvittää asiakkaan ip
Kuinka selvittää asiakkaan ip

Se on välttämätöntä

Perustiedot PHP: stä

Ohjeet

Vaihe 1

Jos haluat purkaa IP-osoitteen selaimen pyyntöpalvelimelle lähetetyistä otsikoista, käytä getenv-toimintoa. Se lukee sille määritetyt arvot ympäristömuuttujista. Muuttujaa nimeltä REMOTE_ADDR käytetään vierailijan IP-osoitteen tallentamiseen. Asiakas voi kuitenkin käyttää välityspalvelinta, jolloin muuttuja sisältää osoitteensa eikä haluamaasi. Voit selvittää, että surffaaja käyttää väli-IP: tä katsomalla ympäristömuuttujaa nimeltä HTTP_VIA. Kaikki ketjuun osallistuvien välityspalvelinten osoitteet sijoitetaan siihen pilkuilla erotettuna. Välipalvelinten on sijoitettava kävijän osoite muuttujaan nimeltä HTTP_X_FORWARDED_FOR, mutta tämä riippuu täysin välityspalvelinasetuksista. Tämä tarkoittaa, että kattamaan mahdollisimman monta mahdollisuutta määrittää IP-osoite, sinun on tarkistettava vähintään kolmen muuttujan sisältö: REMOTE_ADDR, HTTP_X_FORWARDED_FOR ja mieluiten

Vaihe 2

Voit yhdistää kaikkien kolmen muuttujan tarkistamisen yhdeksi PHP-koodiriviksi esimerkiksi seuraavasti:

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

Saatuaan IP-osoitteen arvon tällä tavalla on suositeltavaa poistaa se mahdollisista vääristymistä ja tarpeettomista merkeistä. Voit käyttää säännöllistä lauseketta tähän:

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

Vaihe 3

Molempien koodirivien yhdistäminen yhdeksi toiminnoksi on jäljellä:

funktio getIP () {

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

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

}

Suositeltava: