Introducere la adresa IP

Pentru a afla „Obțineți adresa IP în PHP”, mai întâi, vom studia adresa IP. O adresă IP sau o adresă de protocol Internet este o adresă care este o adresă sau etichetă numerică pe care o are fiecare sistem sau dispozitiv conectat la o rețea. Adresa IP este atribuită fiecărui astfel de dispozitiv. Aceste dispozitive folosesc protocolul internet pentru orice tip de comunicare.

Versiunea IP

Mai jos puncte Explicați versiunea IP:

  • O versiune IP este definită în funcție de bitul etichetei protocolului internet. De exemplu, IPv4, care este o versiune anterioară definește o adresă de protocol de internet pe 32 de biți. Odată cu creșterea internetului, a luat ființă IPv6, care definește o etichetă IP cu număr de 128 biți. IPv6 este folosit din 1995 până astăzi. Adresa Protocolului Internet este scrisă într-un limbaj inteligibil pentru om. Un exemplu de IPv4 este următorul, 170.17.260.2 și un exemplu pentru IPv6 este 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Spațiul achiziționat de adresele de protocol de internet este gestionat global. Un registru numit Internet Assigned Numbers Authority împreună cu celelalte cinci registre regionale face posibilă gestionarea spațiului pentru adresele de protocol de internet. IANA este responsabilă pentru alocarea și gestionarea spațiilor adreselor de protocol de internet tuturor utilizatorilor finali și a altor furnizori de internet din zonele sau teritoriile lor desemnate. În mod similar, tuturor dispozitivelor conectate la o rețea de furnizori de servicii de internet li se atribuie o adresă unică de protocol de internet.
  • Există adrese de protocol de internet statice care nu se schimbă des, acestea sunt furnizate serverelor. Furnizorii de servicii de internet furnizează o adresă de protocol internet specifică și unică unei mașini care utilizează un modem. Adresa IP este unică pentru o sesiune și s-ar putea schimba pentru sesiunea următoare.

Identificarea și returnarea adresei IP în PHP

Din motive de securitate, site-urile colectează adresele IP ale vizitatorilor site-urilor lor. Există o modalitate ușoară de a obține această adresă în PHP. Există o matrice specifică în PHP care ajută și returnează adresa IP a aparatului dumneavoastră. Un tablou este cunoscut sub numele de „$ _SERVER”. Conține informații despre căile, anteturile și locațiile scriptului. Serverul web creează informațiile necesare pentru matricea $ _SERVER. Uneori, acest server nu creează și nu furnizează toate informațiile cerute de tablou, ar putea omite unele dintre acestea. Astfel, există un alt tablou care poate fi utilizat în astfel de cazuri. Este scris ca „SERVER_ADDR”. Acest tablou returnează adresa IP a serverului sub care se execută scriptul.

Metode utilizate pentru a obține adresa IP în PHP

Mai jos este exemplul folosit pentru a obține o adresă IP în php:

Exemple # 1

Cel mai simplu mod este de a utiliza $ _SERVER cu „REMOTE_ADDR”, acesta va returna adresa IP a utilizatorului care vizionează momentan pagina.

  • Exemplu folosind („REMOTE_ADDR”) pentru a identifica adresa IP a serverului în PHP.

Cod:

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

ieşire:

Exemplul # 2

O altă metodă, numită „SERVER_ADDR”, care este de asemenea folosită pentru a prelua adresa IP a serverului.

  • Exemplu folosind („SERVER_ADDR”) pentru a identifica adresa IP a serverului în PHP.

Cod:

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

ieşire:

Explicație pentru programul de mai sus: Arhiva de mai sus ($ _SERVER) este utilă, este faptul că aparatul nu este atașat prin proxy. Dacă aparatul este conectat la internet prin intermediul sau prin serverul proxy, $ _SERVER ('REMOTE_ADDR') în PHP nu returnează adresa IP corectă. Acesta returnează doar adresa IP a serverului proxy și a mașinii utilizatorului sau a clientului. În această situație, se folosește o altă metodă pentru a prelua adresa corectă.

Exemplul # 3

Următorul exemplu este utilizat pentru a returna adresa IP corectă și reală chiar dacă mașina se ascunde în spatele unui server proxy. Utilizează o pereche suplimentară de variabile SERVER care sunt disponibile pentru a obține adresa IP exactă a sistemului sau a mașinii clientului. Ele sunt cunoscute sub numele de HTTP_CLIENT_IP și HTTP_X_FORWARDED_FOR.

  • Exemplu folosind ('HTTP_CLIENT_IP') și ('HTTP_X_FORWARDED_FOR') pentru a identifica adresa IP a serverului în PHP.

Cod:

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

ieşire:

Dacă se înțelege fluxul de acțiuni al codului de mai sus, se poate referi la graficul de flux următor pentru același.

Explicație pentru programul de mai sus: Exemplul de mai sus pentru a prelua adresa IP folosește două variabile ('HTTP_CLIENT_IP') și ('HTTP_X_FORWARDED_FOR'). În program, facem prima noastră încercare de a-l scoate direct de pe aparat folosind HTTP_CLIENT_IP. Dacă aceasta nu este disponibilă, încercăm IP-ul „redirecționat pentru” folosind HTTP_X_FORWARDD_FOR. Când ambele condiții cad nul, încercăm să obținem adresa IP folosind variabila REMOTE_ADDR.

Punctele de reținut

Mai jos de puncte trebuie amintit că Obțineți o adresă IP în php:

1. Că atunci când am rulat codul de mai sus, adresa IP returnată este afișată ca :: 1. Aceasta este cunoscută ca o adresă de loopback, care este de fapt reprezentată ca de 127 de ori zero, urmată de o 1 care este (0000 …. De 127 de ori … Dacă vrem să-l notăm, va fi scris ca:

2. Dar în IPv6, putem reprezenta această etichetă mare într-o formă scurtă. Deci, dacă există toate zero-urile într-un singur bloc, acesta poate fi înlocuit cu un singur zero. Deci, atunci când se respectă regula de mai sus, devine: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Din nou, zero-urile pot fi eliminate și rămânem cu: 0001

4. Care este din nou redus la „ :: 1 ”, astfel ieșirea.

Explicație la codul de mai sus: Dacă sunt făcute să fie executate, acestea nu pot da nicio ieșire sau ar putea returna o eroare de timp de rulare, deoarece domeniile private nu furnizează adresele lor de protocol de internet. În timp ce codurile de mai sus sunt executate pe un server local sau o gazdă locală, cum am folosit un server WAMP, va oferi o ieșire în conformitate cu versiunea IP, adică dacă este un IPv4, adresa protocolului Internet va fi afișat ca „127: 0: 0: 1”, în timp ce, dacă este un IPv6, adresa protocolului de internet va fi afișată ca mai sus, că, „:: 1”

Articole recomandate

Acesta este un ghid pentru Obținerea adresei IP în PHP. Aici vom discuta despre Identificarea adresei IP, metodele din adresa IP și punctele care trebuie amintite în adresa IP. Puteți parcurge și alte articole conexe pentru a afla mai multe -

  1. Conexiune la baza de date PHP
  2. Ce este TCP / IP?
  3. Programare Socket în PHP
  4. Palindrom în PHP
  5. Palindrom în C ++
  6. Palindrom în JavaScript
  7. Top 12 Comparație de Mac și Adrese IP
  8. Programare Socket în Python
  9. Ce este IPv4?