Bevezetés az IP címbe

Az 'IP-cím beszerzése a PHP-ben' elõször tanulmányozzuk az IP-címet. Az IP-cím vagy az Internet Protokoll cím egy olyan cím, amely numerikus cím vagy címke, amelyet minden hálózathoz csatlakoztatott rendszer vagy eszköz rendelkezik. Az IP-címet minden ilyen eszközhöz hozzárendelik. Ezek az eszközök bármilyen típusú kommunikációhoz internetprotokollt használnak.

IP verzió

Az alábbiakban magyarázza az IP verziót:

  • Az IP verziót az internetprotokoll címkéjének bitjei határozzák meg. Például az IPv4, amely egy korábbi verzió, meghatározza a 32 bites internet-protokoll címet. Az internet növekedésével létrejött az IPv6, amely meghatározza a 128 bites számú IP címkét. Az IPv6-ot 1995 óta használják napjainkig. Az Internet Protocol címet az ember számára érthető nyelven írják. Az IPv4 példája a következő: 170.17.260.2, az IPv6 példája pedig a 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Az internetes protokollcímek által megszerzett terület globálisan kezelt. Az Internet Assigned Numbers Authority elnevezésű nyilvántartás, a másik öt regionális nyilvántartással együtt, lehetővé teszi az internet protokollcímek térkezelését. Az IANA felel az internetprotokoll-címek terének kiosztásáért és kezeléséért a végfelhasználók és más internetszolgáltatók számára a kijelölt területeken vagy területeken. Hasonlóképpen, az internetszolgáltató hálózatához csatlakoztatott összes eszköz egyedi internetprotokoll-címet kap.
  • Vannak statikus internetprotokoll-címek, amelyek gyakran nem változnak, ezeket a kiszolgálókhoz továbbítják. Az internetszolgáltatók megadnak egy egyedi és egyedi internetes protokoll címet egy modemet használó gép számára. Ez az IP-cím egy munkamenetre egyedi, és a következő munkamenetnél változhat.

Az IP-cím azonosítása és visszaadása a PHP-ben

Biztonsági okokból a webhelyek összegyűjtik webhelyeik látogatói IP-címeit. Ennek a címnek a PHP-ben való megszerzésének egyszerű módja van. A PHP-ben van egy speciális tömb, amely segít és visszaadja a számítógép IP-címét. A tömb '$ _SERVER' néven ismert. Információkat tartalmaz az elérési utakról, fejlécekről és a szkriptek helyéről. A webszerver létrehozza a $ _SERVER tömbhez szükséges információkat. Időnként a szerver nem hozza létre vagy nyújtja a tömb által megkövetelt összes információt, esetleg kihagyja részét. Tehát van egy másik tömb, amely ilyen esetekben használható. Írása: 'SERVER_ADDR'. Ez a tömb visszaadja annak a kiszolgálónak az IP-címét, amely alatt a szkript fut.

Használt módszerek IP-cím lekérésére a PHP-ben

Az alábbiakban bemutatjuk az IP-cím php-ben való megszerzéséhez használt példát:

1. példa

A legegyszerűbb módszer a $ _SERVER használata a 'REMOTE_ADDR' fájllal, ez visszaadja a felhasználó IP-címét, aki éppen az oldalt nézi.

  • Példa ('REMOTE_ADDR') használatával a kiszolgáló IP-címének azonosításához a PHP-ben.

Kód:

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

Kimenet:

2. példa

Egy másik módszer, a 'SERVER_ADDR', amelyet a szerver IP-címének lekérésére is használnak.

  • Példa a ('SERVER_ADDR') segítségével a szerver IP-címének azonosítására a PHP-ben.

Kód:

<_?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";
?>

Kimenet:

A fenti program magyarázata: A fenti példa tömb ($ _SERVER) hasznos, ha a gépet nem csatlakoztatják proxy útján. Ha a gépet proxykiszolgálón keresztül vagy proxykiszolgálón keresztül csatlakoztatja, akkor a PHP $ _SERVER ('REMOTE_ADDR') nem adja vissza a helyes IP-címet. Csak visszaadja a proxy szerver és a felhasználó vagy az ügyfél számítógépének IP-címét. Ebben a helyzetben egy másik módszer használható a helyes cím lekérésére.

3. példa

A következő példa a helyes és valós IP-cím visszaadására szolgál akkor is, ha a gép egy proxyszerver mögött rejtőzik. Egy extra SERVER változót használ, amelyek elérhetők az ügyfél rendszerének vagy gépének pontos IP-címének lekéréséhez. Ezeket HTTP_CLIENT_IP és HTTP_X_FORWARDED_FOR néven hívják.

  • Példa a ('HTTP_CLIENT_IP') és ('HTTP_X_FORWARDED_FOR') használatával a kiszolgáló IP-címének azonosításához a PHP-ben.

Kód:

<_?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();
?>

Kimenet:

Ha meg akarjuk érteni a fenti kód műveleteinek folyamatát, akkor utalhat a következő folyamatábrára.

Magyarázat a fenti programhoz: A fenti példa az IP-cím lekérésére két változót ('HTTP_CLIENT_IP') és ('HTTP_X_FORWARDED_FOR') használ. A programban megpróbáljuk közvetlenül kiszabadítani a gépről a HTTP_CLIENT_IP használatával. Ha ez nem érhető el, megpróbáljuk az IP továbbítását az IP_X_FORWARDD_FOR használatával. Amikor mindkét feltétel érvénytelenné válik, megpróbáljuk megszerezni az IP-címet a REMOTE_ADDR változóval.

Emlékeztető pontok

A pontok alatt emlékezzen arra, hogy IP-cím beszerzése php-ben:

1. Hogy amikor futtattuk a fenti kódot, a visszaadott IP cím :: 1 formátumban jelenik meg. Ezt visszacsatási címnek nevezzük, amelyet valójában a nulla 127-szerese, majd az 1-es érték (0000 … 127-szer … .1) képvisel. Ha le szeretnénk írni, akkor a következőképpen írják:

2. De az IPv6-ban ezt a nagy címkét rövid formában ábrázolhatjuk. Tehát ha egy blokkban vannak mind nulla, akkor helyettesítheti egyetlen nullával. Tehát, ha a fenti szabályt követjük, akkor ez lesz: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Megint kiküszöbölhetők a nullák, és a :: 0001 marad

4. Amely ismét ' :: 1 ' -re redukálódik, tehát a kimenet.

A fenti kód magyarázata: Ha futtatásra késztetik őket, akkor előfordulhat, hogy nem adnak kimenetet, vagy visszaadhatnak egy futási idő hibát, mivel a magántartomány nem adja meg az internetprotokoll-címüket. Noha, ha a fenti kódokat egy helyi szerveren vagy egy helyi gazdagépen hajtjuk végre, amint például a WAMP szervert is használtuk, akkor az az IP verziónak megfelelő kimenetet fog biztosítani, azaz ha ez egy IPv4, akkor az Internet protokoll címe '127: 0: 0: 1' formátumban jelenik meg, míg ha IPv6, akkor az internetprotokoll címe a fentiek szerint jelenik meg, hogy ':: 1'

Ajánlott cikkek

Ez egy útmutató az IP-cím megszerzéséhez a PHP-ben. Itt tárgyaljuk az IP-cím azonosítását, az IP-címben alkalmazott módszereket és az IP-címben megjegyezendő pontokat. Megnézheti más kapcsolódó cikkeket is, ha többet szeretne megtudni -

  1. PHP adatbázis kapcsolat
  2. Mi a TCP / IP?
  3. Socket programozás PHP-ben
  4. Palindrome a PHP-ben
  5. Palindrom C ++ -ban
  6. Palindrome a JavaScript-ben
  7. A Mac és az IP címek 12 legfontosabb összehasonlítása
  8. Socket programozás Pythonban
  9. Mi az IPv4?

Kategória: