Úvod do IP adresy

Abychom se naučili „Získat IP adresu v PHP“, nejprve si prostudujeme IP adresu. IP adresa nebo adresa internetového protokolu je adresa, která je numerická adresa nebo štítek, který má každý systém nebo zařízení připojené k síti. Každému takovému zařízení je přidělena IP adresa. Tato zařízení používají internetový protokol pro jakýkoli druh komunikace.

Verze IP

Níže uvedené body Vysvětlete verzi IP:

  • Verze IP je definována podle bitu štítku internetového protokolu. Například IPv4, což je starší verze, definuje adresu internetového protokolu s 32bitovým číslem. S růstem internetu vznikla IPv6, která definuje 128bitové číslo IP. IPv6 se používá od roku 1995 do současnosti. Adresa internetového protokolu je psána v srozumitelném jazyce. Příklad IPv4 je následující, 170.17.260.2 a příklad pro IPv6 je 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Prostor získaný pomocí adres internetového protokolu je globálně spravován. Registr s názvem Internet Assigned Numbers Authority spolu s dalšími pěti regionálními registry umožňuje správu prostoru pro adresy internetového protokolu. IANA odpovídá za přidělování a správu prostorů adres internetového protokolu všem koncovým uživatelům a jiným poskytovatelům internetu v jejich určených oblastech nebo územích. Podobně všem zařízením připojeným k síti poskytovatelů internetových služeb je přidělena jedinečná adresa internetového protokolu.
  • Existují statické adresy internetového protokolu, které se často nemění, jsou poskytovány serverům. Poskytovatelé internetových služeb poskytují konkrétní a jedinečnou adresu internetového protokolu stroji, který používá modem. Tato adresa IP je jedinečná pro relaci a může se změnit pro další relaci.

Identifikace a vrácení IP adresy v PHP

Z bezpečnostních důvodů shromažďují weby IP adresy návštěvníků svých stránek. Existuje snadný způsob, jak získat tuto adresu v PHP. V PHP existuje specifické pole, které pomáhá a vrací IP adresu vašeho počítače. Pole se nazývá '$ _SERVER'. Obsahuje informace o cestách, záhlavích a umístění skriptů. Webový server vytvoří informace potřebné pro pole $ _SERVER. Někdy to server nevytvoří ani neposkytne všechny informace požadované maticí, může některé z nich vynechat. Existuje tedy další pole, které lze v takových případech použít. Je zapsána jako „SERVER_ADDR“. Toto pole vrací IP adresu serveru, pod kterým je spuštěn skript.

Metody používané k získání IP adresy v PHP

Níže je uveden příklad používaný k získání IP adresy v php:

Příklady # 1

Nejjednodušší způsob je použití $ _SERVER s 'REMOTE_ADDR', vrátí IP adresu uživatele, který stránku právě prohlíží.

  • Příklad použití („REMOTE_ADDR“) k identifikaci IP adresy serveru v PHP.

Kód:

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

Výstup:

Příklad č. 2

Další metoda s názvem 'SERVER_ADDR', která se také používá k načtení IP adresy serveru.

  • Příklad použití ('SERVER_ADDR') k identifikaci IP adresy serveru 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ýstup:

Vysvětlení výše uvedeného programu: Výše uvedené příkladové pole ($ _SERVER) je užitečné, pokud stroj není připojen přes proxy. Pokud je stroj připojen k internetu přes nebo přes proxy server, $ _SERVER ('REMOTE_ADDR') v PHP nevrací správnou IP adresu. Vrací pouze IP adresu proxy serveru a počítače uživatele nebo klienta. V této situaci se k získání správné adresy používá jiná metoda.

Příklad č. 3

Následující příklad se používá k vrácení správné a skutečné IP adresy, i když se stroj skrývá za proxy serverem. Používá zvláštní dvojici proměnných SERVER, které jsou k dispozici k získání přesné adresy IP systému nebo stroje klienta. Jsou známy jako HTTP_CLIENT_IP a HTTP_X_FORWARDED_FOR.

  • Příklad použití ('HTTP_CLIENT_IP') a ('HTTP_X_FORWARDED_FOR') k identifikaci IP adresy serveru 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ýstup:

Pokud má člověk pochopit průběh akcí výše uvedeného kódu, může se na něj odkazovat na následující vývojový diagram.

Vysvětlení výše uvedeného programu: Výše uvedený příklad pro načtení IP adresy používá dvě proměnné ('HTTP_CLIENT_IP') a ('HTTP_X_FORWARDED_FOR'). V programu se pokoušíme přímo z počítače pomocí protokolu HTTP_CLIENT_IP. Pokud to není k dispozici, pokusíme se o „předání“ IP pomocí HTTP_X_FORWARDD_FOR. Když obě podmínky klesnou na nulu, zkusíme získat IP adresu pomocí proměnné REMOTE_ADDR.

Body k zapamatování

Pod body byste si měli zapamatovat, jak získat IP adresu v php:

1. Že když jsme spustili výše uvedený kód, vrátená IP adresa se zobrazí jako :: 1. Tato adresa se nazývá zpětná smyčka, která je ve skutečnosti reprezentována 127 krát nuly, následovanou hodnotou 1, která je (0000… 127 krát… .1). Máme-li to napsat, bude to napsáno jako:

2. Ale v IPv6 můžeme tento velký štítek reprezentovat v krátké formě. Pokud tedy jsou v jednom bloku všechny nuly, lze je nahradit jedinou nulou. Takže při dodržení výše uvedeného pravidla se stává: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Nuly lze opět eliminovat a my máme ponecháno :: 0001

4. Což se opět sníží na ' :: 1 ', tedy výstup.

Vysvětlení výše uvedeného kódu: Pokud jsou nastaveny ke spuštění, nemusí vydávat žádný výstup nebo mohou vrátit chybu doby spuštění, protože soukromé domény neposkytují adresy internetového protokolu. Zatímco výše uvedené kódy jsou prováděny na lokálním serveru nebo na lokálním hostiteli, jako jsme použili server WAMP, bude poskytovat výstup podle verze IP, to znamená, že pokud jde o IPv4, adresa internetového protokolu bude zobrazí se jako '127: 0: 0: 1', pokud se jedná o IPv6, adresa internetového protokolu se zobrazí jako výše, tj. :: :: 1 '

Doporučené články

Toto je průvodce, jak získat IP adresu v PHP. Zde diskutujeme o identifikaci IP adresy, metodách v IP adrese a bodech, které je třeba v IP adrese zapamatovat. Další informace naleznete také v dalších souvisejících článcích -

  1. Připojení k databázi PHP
  2. Co je to TCP / IP?
  3. Programování Socket v PHP
  4. Palindrom v PHP
  5. Palindrom v C ++
  6. Palindrom v JavaScriptu
  7. Top 12 Porovnání Mac vs IP adres
  8. Programování soketů v Pythonu
  9. Co je to IPv4?

Kategorie: