Introduktion til IP-adresse

For at lære 'Hent IP-adresse i PHP' skal vi først studere IP-adressen. En IP-adresse eller en Internetprotokol-adresse er en adresse, der er en numerisk adresse eller etiket, som ethvert system eller enhed, der er tilsluttet et netværk, har. IP-adressen tildeles til enhver sådan enhed. Disse enheder bruger internetprotokol til enhver form for kommunikation.

IP-version

Nedenfor punkter Forklar IP-version:

  • En IP-version er defineret i henhold til biten på internetprotokoletiketten. For eksempel definerer IPv4, som er en tidligere version, en 32-bit-internetprotokoladresse. Med væksten af ​​internettet kom IPv6 til, som definerer en 128-bit IP-etiket. IPv6 bruges siden 1995 indtil i dag. Internetprotokoladresse er skrevet på det menneskeligt forståelige sprog. Et eksempel på IPv4 er som følger 170.17.260.2 og et eksempel på IPv6 er 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Den plads, der erhverves af internetprotokoladresser, administreres globalt. Et register kaldet Internet Assigned Numbers Authority sammen med de andre fem regionale registre gør pladshåndtering for internetprotokoladresser mulig. IANA er ansvarlig for allokering og styring af mellemrum af internetprotokoladresser til alle slutbrugere og andre internetudbydere i deres udpegede områder eller territorier. Tilsvarende tildeles alle enheder, der er forbundet til et internetudbyders netværk, en unik internetprotokoladresse.
  • Der er statiske internetprotokoladresser, der ikke ændres ofte, de leveres til serverne. Internetudbydere leverer en specifik og unik internetprotokoladresse til en maskine, der bruger et modem. Denne IP-adresse er unik for en session og kan muligvis ændre sig til den næste session.

Identificering og returnering af IP-adresse i PHP

Af sikkerhedsmæssige årsager indsamler webstederne IP-adresserne for besøgende på deres websteder. Der er en nem måde at få denne adresse i PHP. Der er et specifikt array i PHP, der hjælper og returnerer din maskins IP-adresse. En matrix kaldes '$ _SERVER'. Det indeholder oplysninger om stier, overskrifter og scriptplaceringer. Webserveren opretter de nødvendige oplysninger til $ _SERVER array. Nogle gange opretter eller leverer serveren ikke serveren alle de oplysninger, der kræves af matrixen, de kan muligvis udelade noget af det. Der er således en anden matrix, der kan bruges i sådanne tilfælde. Det er skrevet som 'SERVER_ADDR'. Denne matrix returnerer IP-adressen på den server, som scriptet kører under.

Metoder, der bruges til at hente IP-adresse i PHP

Nedenfor er eksemplet brugt til at få en IP-adresse i php:

Eksempler nr. 1

Den enkleste måde er at bruge $ _SERVER med 'REMOTE_ADDR', det returnerer brugerens IP-adresse, der i øjeblikket ser siden.

  • Eksempel på ('REMOTE_ADDR') til at identificere serverens IP-adresse i PHP.

Kode:

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

Produktion:

Eksempel 2

En anden metode, kaldet 'SERVER_ADDR', som også bruges til at hente serverens IP-adresse.

  • Eksempel på ('SERVER_ADDR') til at identificere serverens IP-adresse i PHP.

Kode:

<_?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:

Forklaring til ovenstående program: Ovenstående eksempel array ($ _SERVER) er nyttigt, da maskinen ikke er knyttet via proxy. Hvis maskinen er tilsluttet internettet via eller via proxyserveren, returnerer $ _SERVER ('REMOTE_ADDR') i PHP ikke den korrekte IP-adresse. Det returnerer bare IP-adressen på proxyserveren og brugerens eller klientens maskine. I denne situation bruges en anden metode til at hente den rigtige adresse.

Eksempel 3

Følgende eksempel bruges til at returnere den rigtige og reelle IP-adresse, selvom maskinen gemmer sig bag en proxyserver. Den bruger et ekstra par SERVER-variabler, der er tilgængelige for at få den nøjagtige IP-adresse på klientens system eller maskine. De er kendt som HTTP_CLIENT_IP og HTTP_X_FORWARDED_FOR.

  • Eksempel ved hjælp af ('HTTP_CLIENT_IP') og ('HTTP_X_FORWARDED_FOR') til at identificere serverens IP-adresse i PHP.

Kode:

<_?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:

Hvis man skal forstå strømmen af ​​handlinger i ovenstående kode, kan man henvise til det følgende flowdiagram for det samme.

Forklaring til ovenstående program: Ovenstående eksempel til at hente IP-adressen bruger to variabler ('HTTP_CLIENT_IP') og ('HTTP_X_FORWARDED_FOR'). I programmet gør vi vores første forsøg på at få det direkte fra maskinen ved hjælp af HTTP_CLIENT_IP. Hvis dette ikke er tilgængeligt, prøver vi at "videresendes til" IP ved hjælp af HTTP_X_FORWARDD_FOR. Når begge betingelser falder ugyldigt, prøver vi at få IP-adressen ved hjælp af variablen REMOTE_ADDR.

Punkter, der skal huskes

Nedenfor skal huskene på at få en IP-adresse i php:

1. At når vi kørte ovenstående kode, vises den returnerede IP-adresse som :: 1. Dette er kendt som en loopback-adresse, der faktisk er repræsenteret som 127 gange nuller efterfulgt af en 1, der er (0000…. 127 gange… .1). Hvis vi skal nedskrive det, skrives det som:

2. Men i IPv6 kan vi repræsentere denne store etiket i en kort form. Så hvis der er alle nuller i en enkelt blok, kan det erstattes med en enkelt nul. Så når man følger ovenstående regel, bliver det: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Igen kan nuller fjernes, og vi sidder tilbage med :: 0001

4. Hvilket igen bliver reduceret til ' :: 1 ', således output.

Forklaring til ovenstående kode: Hvis de er kørt til at køre, giver de muligvis ikke nogen output eller returnerer muligvis en køretidfejl, da private domæner ikke giver deres internetprotokoladresser. Selvom ovennævnte koder udføres på en lokal server eller en lokal vært, ligesom vi har brugt en WAMP-server, giver den et output i henhold til IP-versionen, det vil sige, hvis det er en IPv4, vil internetprotokoladressen være vises som '127: 0: 0: 1', mens hvis det er en IPv6, vises internetprotokoladressen som ovenfor, at den, ':: 1'

Anbefalede artikler

Dette er en guide til at få IP-adresse i PHP. Her diskuterer vi Identificering af IP-adresse, metoder i IP-adresse og punkter, der skal huskes i IP-adresse. Du kan også gennemgå vores andre relaterede artikler for at lære mere -

  1. PHP-databaseforbindelse
  2. Hvad er TCP / IP?
  3. Socket-programmering i PHP
  4. Palindrome i PHP
  5. Palindrome i C ++
  6. Palindrome i JavaScript
  7. Top 12 sammenligning af Mac vs IP-adresser
  8. Socket-programmering i Python
  9. Hvad er IPv4?

Kategori: