Sissejuhatus IP-aadressi

„PHP-l IP-aadressi hankimise” õppimiseks uurime kõigepealt IP-aadressi. IP-aadress või Interneti-protokolli aadress on aadress, mis on numbriline aadress või silt, mis igal võrguga ühendatud süsteemil või seadmel on. Igale sellisele seadmele määratakse IP-aadress. Need seadmed kasutavad igat tüüpi suhtluse jaoks Interneti-protokolli.

IP-versioon

Allpool punktid Selgitage IP-versiooni:

  • IP-versioon määratletakse vastavalt Interneti-protokolli sildi bitile. Näiteks IPv4, mis on varasem versioon, määratleb 32-bitise numbri Interneti-protokolli aadressi. Interneti kasvuga sai alguse IPv6, mis määratleb 128-bitise numbri IP-sildi. IPv6 kasutatakse alates 1995. aastast kuni tänapäevani. Interneti-protokolli aadress on kirjutatud inimesele arusaadavas keeles. IPv4 näide on järgmine, 170.17.260.2 ja IPv6 näide on 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Interneti-protokolli aadresside poolt omandatud ruumi hallatakse globaalselt. Internet, millele on määratud Interneti-omistatud numbrite amet, koos ülejäänud viie piirkondliku registriga võimaldab Interneti-protokollide aadresside ruumihaldust. IANA vastutab Interneti-protokollide aadresside eraldamise ja haldamise eest kõigile lõppkasutajatele ja teistele Interneti-teenuse pakkujatele nende määratud piirkonnas või territooriumil. Samamoodi omistatakse kõigile Interneti-teenuse pakkuja võrku ühendatud seadmetele kordumatu Interneti-protokolli aadress.
  • Seal on staatilisi Interneti-protokolliaadresse, mis ei muutu sageli, need edastatakse serveritele. Interneti-teenuse pakkujad pakuvad modemit kasutavale masinale konkreetset ja ainulaadset Interneti-protokolli aadressi. See IP-aadress on seansi jaoks ainulaadne ja võib järgmise seansi korral muutuda.

IP-aadressi tuvastamine ja tagastamine PHP-s

Turvalisuse huvides koguvad saidid oma saitide külastajate IP-aadresse. Selle aadressi saamiseks PHP-s on lihtne viis. PHP-s on konkreetne massiiv, mis aitab ja tagastab teie masina IP-aadressi. Massiivi tuntakse kui '$ _SERVER'. See sisaldab teavet radade, päiste ja skriptide asukohtade kohta. Veebiserver loob massiivi $ _SERVER jaoks vajaliku teabe. Mõnikord ei loo või edasta server kogu massiivi vajalikku teavet, võivad nad osa sellest jätta. Seega on veel üks massiiv, mida saab sellistel juhtudel kasutada. See on kirjutatud kui 'SERVER_ADDR'. See massiiv tagastab selle serveri IP-aadressi, milles skript töötab.

Kasutatavad meetodid IP-aadressi saamiseks PHP-s

Allpool on näide, mida kasutatakse IP-aadressi saamiseks php-s:

Näited nr 1

Lihtsaim viis on kasutada faili $ _SERVER koos 'REMOTE_ADDR' abil, see tagastab kasutaja IP-aadressi, kes seda lehte praegu vaatab.

  • Näide serveri IP-aadressi tuvastamiseks PHP-s ('REMOTE_ADDR').

Kood:

<_?php
echo 'User IP - '.$_SERVER('REMOTE_ADDR');
?>

Väljund:

Näide 2

Teine meetod nimega 'SERVER_ADDR', mida kasutatakse ka serveri IP-aadressi hankimiseks.

  • Näide serveri IP-aadressi tuvastamiseks PHP-s ('SERVER_ADDR').

Kood:

<_?php
// PHP program to retrieve server's Internet Protocol address
// Creating a variable to store the server address
$ip_server = $_SERVER('SERVER_ADDR');
// Displaying the retrieved address
echo "Server IP Address is: $ip_server";
?>

Väljund:

Ülaltoodud programmi seletus: ülaltoodud näidismassiivist ($ _SERVER) on abi, kui masin pole puhverserveri kaudu ühendatud. Kui masin on Internetiga ühendatud puhverserveri kaudu või kaudu, ei tagasta PHP-s $ _SERVER ('REMOTE_ADDR') õiget IP-aadressi. See tagastab lihtsalt puhverserveri ja kasutaja või kliendi masina IP-aadressi. Selles olukorras kasutatakse õige aadressi saamiseks teist meetodit.

Näide 3

Järgmist näidet kasutatakse õige ja tegeliku IP-aadressi tagastamiseks isegi siis, kui masin peidab puhverserveri taha. See kasutab kliendi süsteemi või masina täpse IP-aadressi saamiseks lisapaari SERVER muutujaid, mis on saadaval. Neid tuntakse kui HTTP_CLIENT_IP ja HTTP_X_FORWARDED_FOR.

  • Näide, kasutades ('HTTP_CLIENT_IP') ja ('HTTP_X_FORWARDED_FOR') serveri IP-aadressi tuvastamiseks PHP-s.

Kood:

<_?php
function RetrieveUserIP()
(
if(!empty($_SERVER('HTTP_CLIENT_IP')))
(
$address=$_SERVER('HTTP_CLIENT_IP');
)
elseif(!empty($_SERVER('HTTP_X_FORWARDED_FOR')))
(
$address=$_SERVER('HTTP_X_FORWARDED_FOR');
)
else
(
$address=$_SERVER('REMOTE_ADDR');
)
return $address;
)
echo 'User IP Address is'.RetrieveUserIP();
?>

Väljund:

Kui soovite mõista ülaltoodud koodi toimingute voogu, võib sama viidata järgmisele vooskeemile.

Ülaltoodud programmi seletus: Ülaltoodud näites IP-aadressi saamiseks kasutatakse kahte muutujat ('HTTP_CLIENT_IP') ja ('HTTP_X_FORWARDED_FOR'). Programmis proovime esimest korda selle otse masinast lahti saada, kasutades HTTP_CLIENT_IP. Kui see pole saadaval, proovime IP-d edastada, kasutades HTTP_X_FORWARDD_FOR. Kui mõlemad tingimused muutuvad olematuks, proovime saada IP-aadressi muutuja REMOTE_ADDR abil.

Pidage meeles

Allpool tuleks meelde tuletada IP-aadressi hankimine php-s:

1. Kui ülaltoodud koodi käivitasime, kuvatakse tagastatud IP-aadress kujul :: 1. Seda nimetatakse tagasihelistamisaadressiks, mida tegelikult tähistatakse 127-kordse nullina, millele järgneb 1, mis on (0000 … 127 korda … .1). Kui me kirjutame selle üles, kirjutatakse see järgmiselt:

2. Kuid IPv6-s saame seda suurt etiketti kujutada lühikeses vormis. Nii et kui ühes plokis on kõik nullid, saab selle asendada ühe nulliga. Ülaltoodud reegli järgimisel saab see siis: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Jällegi saab nullid kaotada ja meile jääb järele :: 0001

4. mis jällegi taandatakse väärtusele :: 1, seega väljund.

Ülaltoodud koodi seletus: kui need tehakse käitamiseks, ei pruugi need anda väljundit või võivad tagastada käitusaja vea, kuna eradomeenid ei paku oma Interneti-protokolli aadresse. Kui ülaltoodud koode täidetakse kohalikus serveris või kohalikus hostis, nagu oleme kasutanud WAMP-serverit, annab see väljundi vastavalt IP-versioonile, st kui see on IPv4, kuvatakse Interneti-protokolli aadress kuvatakse kui '127: 0: 0: 1', kui aga see on IPv6, kuvatakse Interneti-protokolli aadress ülaltoodud viisil, et see: :: 1

Soovitatavad artiklid

See on juhend IP-aadressi hankimiseks PHP-s. Siin käsitleme IP-aadressi tuvastamist, IP-aadressis kasutatavaid meetodeid ja IP-aadressis meelde tuletavaid punkte. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. PHP andmebaasi ühendus
  2. Mis on TCP / IP?
  3. Pistikupesa programmeerimine PHP-s
  4. Palindroom PHP-s
  5. Palindroom C ++
  6. Palindroom JavaScriptis
  7. 12 parimat Mac-i ja IP-aadresside võrdlust
  8. Socketi programmeerimine Pythonis
  9. Mis on IPv4?

Kategooria: