Introduksjon til IP-adresse

For å lære "Få IP-adresse i PHP", skal vi først studere IP-adressen. En IP-adresse eller en Internet Protocol-adresse er en adresse som er en numerisk adresse eller etikett som alle systemer eller enheter koblet til et nettverk har. IP-adressen tilordnes alle slike enheter. Disse enhetene bruker internettprotokoll for alle typer kommunikasjon.

IP-versjon

Nedenfor poeng Forklar IP-versjon:

  • En IP-versjon er definert i henhold til biten til internettprotokolletiketten. For eksempel definerer IPv4, som er en tidligere versjon, en 32-biters internettprotokolladresse. Med veksten av internett kom IPv6 til som definerer en 128-biters IP-etikett. IPv6 brukes siden 1995 og frem til i dag. Internett-protokolladresse er skrevet på det menneskelig forståelige språket. Et eksempel på IPv4 er som følger, 170.17.260.2 og et eksempel for IPv6 er 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Plassen som er anskaffet av internettprotokolladresser, administreres globalt. Et register kalt Internet Assigned Numbers Authority sammen med de fem andre regionale registerene gjør romadministrasjonen for internettprotokolladresser mulig. IANA er ansvarlig for å tildele og administrere mellomrom med internettprotokolladresser til alle sluttbrukere og andre internettleverandører i deres utpekte områder eller territorier. Tilsvarende tildeles alle enhetene som er koblet til et internettleverandørnettverk en unik internettprotokolladresse.
  • Det er statiske internettprotokolladresser som ikke endres ofte, de leveres til serverne. Internett-leverandørene gir en spesifikk og unik internettprotokolladresse til en maskin som bruker et modem. Denne IP-adressen er unik for en økt og kan endres for neste økt.

Identifisere og returnere IP-adresse i PHP

Av sikkerhetsgrunner samler nettstedene IP-adressene til besøkende på nettstedene. Det er en enkel måte å få denne adressen i PHP. Det er en spesifikk gruppe i PHP som hjelper og returnerer maskinens IP-adresse. En matrise er kjent som '$ _SERVER'. Den inneholder informasjon om stier, overskrifter og skriptplasseringer. Webserveren lager informasjonen som er nødvendig for $ _SERVER-matrisen. Noen ganger oppretter eller oppgir ikke serveren all informasjonen som kreves av matrisen, de kan utelate noe av det. Dermed er det en annen gruppe som kan brukes i slike tilfeller. Det er skrevet som 'SERVER_ADDR'. Denne matrisen returnerer IP-adressen til serveren som skriptet kjøres under.

Metoder brukes for å få IP-adresse i PHP

Nedenfor er eksemplet som brukes til å få en IP-adresse i php:

Eksempler nr. 1

Den enkleste måten er å bruke $ _SERVER med 'REMOTE_ADDR', den vil returnere brukerens IP-adresse som for øyeblikket ser på siden.

  • Eksempel på å bruke ('REMOTE_ADDR') for å identifisere serverens IP-adresse i PHP.

Kode:

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

Produksjon:

Eksempel 2

En annen metode, kalt 'SERVER_ADDR', som også brukes til å hente IP-adressen til serveren.

  • Eksempel på å bruke ('SERVER_ADDR') for å identifisere 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";
?>

Produksjon:

Forklaring til ovennevnte program: Ovennevnte eksempelmatrise ($ _SERVER) er nyttig fordi maskinen ikke er tilknyttet via proxy. Hvis maskinen er koblet til internett via eller via proxy-serveren, returnerer ikke $ _SERVER ('REMOTE_ADDR') i PHP riktig IP-adresse. Den returnerer bare IP-adressen til proxy-serveren og brukerens eller klientens maskin. I denne situasjonen brukes en annen metode for å hente riktig adresse.

Eksempel 3

Følgende eksempel brukes til å returnere riktig og ekte IP-adresse, selv om maskinen gjemmer seg bak en proxy-server. Den bruker et ekstra par SERVER-variabler som er tilgjengelige for å få den nøyaktige IP-adressen til klientens system eller maskin. De er kjent som HTTP_CLIENT_IP og HTTP_X_FORWARDED_FOR.

  • Eksempel på å bruke ('HTTP_CLIENT_IP') og ('HTTP_X_FORWARDED_FOR') for å identifisere 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();
?>

Produksjon:

Hvis man skal forstå handlingsstrømmen til koden ovenfor, kan man referere til følgende flytskjema for det samme.

Forklaring til programmet over: Ovennevnte eksempel for å hente IP-adressen bruker to variabler, ('HTTP_CLIENT_IP') og ('HTTP_X_FORWARDED_FOR'). I programmet gjør vi vårt første forsøk på å få den direkte ut av maskinen ved hjelp av HTTP_CLIENT_IP. Hvis det ikke er tilgjengelig, prøver vi å "videresende for" IP ved hjelp av HTTP_X_FORWARDD_FOR. Når begge forholdene blir null, prøver vi å få IP-adressen ved å bruke variabelen REMOTE_ADDR.

Poeng å huske

Under punktene må du huske å få en IP-adresse i php:

1. At når vi kjørte ovennevnte kode, vises den returnerte IP-adressen som: 1. Dette er kjent som en loopback-adresse som faktisk er representert som 127 ganger nuller etterfulgt av en 1 som er (0000…. 127 ganger… .1). Hvis vi skal skrive det ned, blir det skrevet som:

2. Men i IPv6 kan vi representere denne store etiketten i en kort form. Så hvis det er alle nuller i en enkelt blokk, kan den erstattes med en enkelt null. Så når du følger regelen ovenfor, blir det: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Igjen kan nullene fjernes, og vi sitter igjen med :: 0001

4. Som igjen blir redusert til ' :: 1 ', og dermed resultatet.

Forklaring til koden ovenfor: Hvis de er laget for å kjøre, gir de kanskje ikke noe utdata eller kan returnere en kjøretidsfeil siden private domener ikke oppgir internettprotokolladresser. Selv om kodene ovenfor blir kjørt på en lokal server eller en lokal vert, som vi har brukt en WAMP-server, vil den gi en utgang i henhold til IP-versjonen, det vil si at hvis det er en IPv4, vil internettprotokolladressen være vises som '127: 0: 0: 1', mens hvis det er en IPv6, vil internettprotokolladressen vises som ovenfor, at den, ':: 1'

Anbefalte artikler

Dette er en guide for å få IP-adresse i PHP. Her diskuterer vi Identifisere IP-adresse, metoder i IP-adresse og punkter som må huskes i IP-adresse. Du kan også gå gjennom andre relaterte artikler for å lære mer -

  1. PHP-databasetilkobling
  2. Hva er TCP / IP?
  3. Socket-programmering i PHP
  4. Palindrome i PHP
  5. Palindrome i C ++
  6. Palindrome i JavaScript
  7. Topp 12 sammenligning av Mac vs IP-adresser
  8. Socket-programmering i Python
  9. Hva er IPv4?