Úvod do IP adresy

Ak sa chcete dozvedieť „Získať IP adresu v PHP“, najprv si preštudujeme IP adresu. Adresa IP alebo adresa internetového protokolu je adresa, ktorá je číselnou adresou alebo štítkom, ktorý má každý systém alebo zariadenie pripojené k sieti. Každému takémuto zariadeniu je pridelená IP adresa. Tieto zariadenia používajú internetový protokol pre akýkoľvek typ komunikácie.

Verzia IP

Nižšie uvedené body Vysvetlite verziu IP:

  • Verzia IP je definovaná podľa kúska návestia internetového protokolu. Napríklad IPv4, čo je staršia verzia, definuje adresu internetového protokolu s 32-bitovým číslom. S rastom internetu, IPv6 vznikol, ktorý definuje 128-bitové číslo IP označenie. IPv6 sa používa od roku 1995 do súčasnosti. Adresa internetového protokolu je napísaná v jazyku zrozumiteľnom pre človeka. Príklad IPv4 je nasledujúci, 170.17.260.2 a príklad pre IPv6 je 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Priestor, ktorý získal adresa internetového protokolu, je spravovaný globálne. Register s názvom Úrad pre internetové čísla pridelené spolu s ďalšími piatimi regionálnymi registrami umožňuje správu priestoru pre adresy internetového protokolu. IANA je zodpovedná za prideľovanie a správu priestorov adries internetového protokolu všetkým koncovým používateľom a iným poskytovateľom internetu v ich určených oblastiach alebo územiach. Podobne všetkým zariadeniam pripojeným k sieti poskytovateľov internetových služieb je pridelená jedinečná adresa internetového protokolu.
  • Existujú statické adresy internetového protokolu, ktoré sa často nemenia, sú poskytované serverom. Poskytovatelia internetových služieb poskytujú konkrétnu a jedinečnú adresu internetového protokolu stroju, ktorý používa modem. Táto adresa IP je jedinečná pre reláciu a môže sa zmeniť pre ďalšiu reláciu.

Identifikácia a vrátenie IP adresy v PHP

Z bezpečnostných dôvodov zhromažďujú webové stránky adresy IP návštevníkov svojich webových stránok. Existuje jednoduchý spôsob, ako získať túto adresu v PHP. V PHP existuje špecifické pole, ktoré pomáha a vracia IP adresu vášho počítača. Pole sa nazýva '$ _SERVER'. Obsahuje informácie o cestách, hlavičkách a umiestneniach skriptov. Webový server vytvorí informácie potrebné pre pole $ _SERVER. V niektorých prípadoch server nevytvára ani neposkytuje všetky informácie, ktoré pole vyžaduje, môže niektoré z nich vynechať. V takýchto prípadoch teda existuje ďalšie pole. Píše sa ako „SERVER_ADDR“. Toto pole vráti adresu IP servera, pod ktorým je spustený skript.

Metódy použité na získanie IP adresy v PHP

Nižšie je uvedený príklad, ktorý sa používa na získanie adresy IP v php:

Príklady # 1

Najjednoduchším spôsobom je použitie $ _SERVER s 'REMOTE_ADDR', vráti IP adresu používateľa, ktorý práve zobrazuje stránku.

  • Príklad použitia („REMOTE_ADDR“) na identifikáciu IP adresy servera v PHP.

kód:

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

Výkon:

Príklad č. 2

Ďalšia metóda nazývaná „SERVER_ADDR“, ktorá sa používa aj na získanie adresy IP servera.

  • Príklad použitia („SERVER_ADDR“) na identifikáciu IP adresy servera v PHP.

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

Výkon:

Vysvetlenie k vyššie uvedenému programu: Vyššie uvedené pole príkladov ($ _SERVER) je užitočné, ak zariadenie nie je pripojené prostredníctvom servera proxy. Ak je stroj pripojený k internetu prostredníctvom alebo cez proxy server, $ _SERVER ('REMOTE_ADDR') v PHP nevracia správnu IP adresu. Vráti iba IP adresu proxy servera a počítača používateľa alebo klienta. V tejto situácii sa na získanie správnej adresy používa iná metóda.

Príklad č. 3

Nasledujúci príklad sa používa na vrátenie správnej a skutočnej adresy IP, aj keď sa zariadenie skrýva za serverom proxy. Používa ďalšiu dvojicu premenných SERVER, ktoré sú k dispozícii na získanie presnej adresy IP systému alebo počítača klienta. Sú známe ako HTTP_CLIENT_IP a HTTP_X_FORWARDED_FOR.

  • Príklad použitia ('HTTP_CLIENT_IP') a ('HTTP_X_FORWARDED_FOR') na identifikáciu IP adresy servera v PHP.

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

Výkon:

Ak má človek pochopiť priebeh akcií vyššie uvedeného kódu, môže sa ten istý odkazovať na nasledujúci vývojový diagram.

Vysvetlenie k vyššie uvedenému programu: Vyššie uvedený príklad na získanie IP adresy používa dve premenné, ('HTTP_CLIENT_IP') a ('HTTP_X_FORWARDED_FOR'). V programe robíme prvý pokus o jeho priame stiahnutie z počítača pomocou protokolu HTTP_CLIENT_IP. Ak to nie je k dispozícii, pokúsime sa o zaslanie adresy IP pomocou protokolu HTTP_X_FORWARDD_FOR. Ak obe podmienky klesnú na nulovú hodnotu, pokúsime sa získať adresu IP pomocou premennej REMOTE_ADDR.

Body na zapamätanie

Pod body by ste mali pamätať na získanie adresy IP v php:

1. Keď sme spustili vyššie uvedený kód, vrátená adresa IP sa zobrazí ako :: 1. Táto adresa je známa ako adresa spätnej slučky, ktorá je v skutočnosti znázornená ako 127-krát nula, za ktorou nasleduje 1, ktorá je (0000 … 127-krát … .1). Ak to chceme napísať, bude to napísané takto:

2. V protokole IPv6 však môžeme tento veľký štítok predstaviť v krátkej podobe. Takže ak sú v jednom bloku všetky nuly, môže sa nahradiť jednou nulou. Takže pri dodržaní vyššie uvedeného pravidla sa stáva: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Nuly môžu byť opäť odstránené a my máme ponechané :: 0001

4. Ktorý sa opäť zníži na ' :: 1 ', teda výstup.

Vysvetlenie vyššie uvedeného kódu: Ak sú nastavené na spustenie, nemusia dať žiadny výstup alebo môžu vrátiť chybu runtime, pretože súkromné ​​domény neposkytujú svoje adresy internetového protokolu. Aj keď sú vyššie uvedené kódy vykonávané na lokálnom serveri alebo lokálnom hostiteľovi, tak ako sme použili server WAMP, poskytne výstup podľa verzie IP, to znamená, že ak ide o IPv4, adresa internetového protokolu bude zobrazí sa ako „127: 0: 0: 1“, zatiaľ čo ak ide o IPv6, adresa internetového protokolu sa zobrazí ako vyššie, tj „:: 1“

Odporúčané články

Toto je príručka na získanie adresy IP v PHP. Tu diskutujeme Identifikácia IP adresy, metódy v IP adrese a body, ktoré treba zapamätať v IP adrese. Viac informácií nájdete aj v ďalších súvisiacich článkoch -

  1. Pripojenie k databáze PHP
  2. Čo je to TCP / IP?
  3. Programovanie zásuviek v PHP
  4. Palindróm v PHP
  5. Palindróm v C ++
  6. Palindróm v JavaScripte
  7. Top 12 Porovnanie Mac vs IP adries
  8. Programovanie zásuviek v Pythone
  9. Čo je to IPv4?

Kategórie: