Introduktion till IP-adress

För att lära oss "Hämta IP-adress i PHP" studerar vi först IP-adressen. En IP-adress eller en Internetprotokolladress är en adress som är en numerisk adress eller etikett som varje system eller enhet ansluten till ett nätverk har. IP-adressen tilldelas varje sådan enhet. Dessa enheter använder internetprotokoll för alla typer av kommunikationer.

IP-version

Nedanstående punkter Förklara IP-version:

  • En IP-version definieras enligt biten på internetprotokolletiketten. Exempelvis definierar IPv4, som är en tidigare version, en 32-bitars internetprotokolladress. Med internettillväxten kom IPv6 till som definierar en 128-bitars IP-etikett. IPv6 används sedan 1995 fram till idag. Internetprotokolladressen är skriven på ett mänskligt förståeligt språk. Ett exempel på IPv4 är följande, 170.17.260.2 och ett exempel för IPv6 är 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Utrymmet som förvärvas av internetprotokolladresser hanteras globalt. Ett register som kallas Internet Assigned Numbers Authority tillsammans med de övriga fem regionala registren möjliggör rymdhanteringen för internetprotokolladresser. IANA ansvarar för att tilldela och hantera utrymmen för internetprotokolladresser till alla slutanvändare och andra internetleverantörer i deras utsedda områden eller territorier. På samma sätt tilldelas alla enheter som är anslutna till ett nätverksleverantörsnätverk en unik internetprotokolladress.
  • Det finns statiska internetprotokolladresser som inte ändras ofta, de tillhandahålls till servrarna. Internetleverantörerna tillhandahåller en specifik och unik internetprotokolladress till en maskin som använder ett modem. Den IP-adressen är unik för en session och kan komma att ändras för nästa session.

Identifiera och returnera IP-adress i PHP

Av säkerhetsskäl samlar webbplatserna IP-adresserna för besökarna på deras webbplatser. Det finns ett enkelt sätt att få denna adress i PHP. Det finns en specifik grupp i PHP som hjälper och returnerar maskinens IP-adress. En matris kallas '$ _SERVER'. Den innehåller information om sökvägar, rubriker och skriptplatser. Webbservern skapar den information som krävs för $ _SERVER-arrayen. Ibland skapar eller tillhandahåller inte servern all information som krävs av matrisen, de kan utelämna en del av den. Således finns det en annan grupp som kan användas i sådana fall. Det är skrivet som 'SERVER_ADDR'. Den här matrisen returnerar IP-adressen till servern under vilken skriptet körs.

Metoder som används för att få IP-adress i PHP

Nedan är exemplet som används för att få en IP-adress i php:

Exempel 1

Det enklaste sättet är att använda $ _SERVER med 'REMOTE_ADDR', det kommer att returnera användarens IP-adress som för närvarande tittar på sidan.

  • Exempel på att använda ('REMOTE_ADDR') för att identifiera serverns IP-adress i PHP.

Koda:

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

Produktion:

Exempel 2

En annan metod, kallad 'SERVER_ADDR', som också används för att hämta serverns IP-adress.

  • Exempel med ('SERVER_ADDR') för att identifiera serverns IP-adress i PHP.

Koda:

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

Produktion:

Förklaring till ovanstående program: Ovanstående exempelmatris ($ _SERVER) är användbart om maskinen inte är ansluten via proxy. Om maskinen är ansluten till internet via eller via proxyservern returnerar inte $ _SERVER ('REMOTE_ADDR') i PHP rätt IP-adress. Den returnerar bara IP-adressen för proxyservern och för användarens eller klientens maskin. I denna situation används en annan metod för att hämta rätt adress.

Exempel 3

Följande exempel används för att returnera rätt och verklig IP-adress även om maskinen gömmer sig bakom en proxyserver. Den använder ett extra par SERVER-variabler som är tillgängliga för att få exakt IP-adress för klientens system eller maskin. De är kända som HTTP_CLIENT_IP och HTTP_X_FORWARDED_FOR.

  • Exempel med ('HTTP_CLIENT_IP') och ('HTTP_X_FORWARDED_FOR') för att identifiera serverns IP-adress i PHP.

Koda:

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

Produktion:

Om man ska förstå flödet av åtgärder enligt ovanstående kod, kan man hänvisa till följande flödesschema för samma.

Förklaring till ovanstående program: Exemplet ovan för att hämta IP-adressen använder två variabler ('HTTP_CLIENT_IP') och ('HTTP_X_FORWARDED_FOR'). I programmet gör vi vårt första försök att direkt ta bort den från maskinen med HTTP_CLIENT_IP. Om det inte är tillgängligt, försöker vi "vidarebefordra" för IP med HTTP_X_FORWARDD_FOR. När båda villkoren blir ogiltiga, försöker vi få IP-adressen med REMOTE_ADDR-variabeln.

Poäng att komma ihåg

Nedan bör punkterna komma ihåg att få en IP-adress i php:

1. Att när vi körde ovanstående kod visas den returnerade IP-adressen som :: 1. Detta är känt som en loopback-adress som faktiskt representeras som 127 gånger nollor följt av en 1 som är (0000 … 127 gånger … .1). Om vi ​​ska skriva ner det kommer det att skrivas som:

2. Men i IPv6 kan vi representera denna stora etikett i en kort form. Så om det finns alla nollor i ett enda block, kan det ersättas med en enda noll. Så när man följer ovanstående regel blir det: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Återigen kan nollorna elimineras och vi sitter kvar med :: 0001

4. Vilket återigen reduceras till ' :: 1 ', alltså utgången.

Förklaring till koden ovan: Om de är gjorda att de kanske inte ger någon utgång eller kanske returnerar ett körtidfel eftersom privata domäner inte har sina internetprotokolladresser. Även om koderna ovan körs på en lokal server eller en lokal värd, som vi har använt en WAMP-server, kommer den att ge en utgång enligt IP-versionen, det vill säga om det är en IPv4, kommer Internetprotokolladressen att vara visas som '127: 0: 0: 1' medan om det är en IPv6 kommer internetprotokolladressen att visas som ovan, att den, ':: 1'

Rekommenderade artiklar

Detta är en guide för att få IP-adress i PHP. Här diskuterar vi Identifiera IP-adress, metoder i IP-adress och punkter som ska komma ihåg i IP-adress. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer -

  1. PHP-databasanslutning
  2. Vad är TCP / IP?
  3. Socket-programmering i PHP
  4. Palindrome i PHP
  5. Palindrome i C ++
  6. Palindrome i JavaScript
  7. Topp 12 jämförelse av Mac vs IP-adresser
  8. Socket-programmering i Python
  9. Vad är IPv4?

Kategori: