Uvod v IP naslov

Če se želite naučiti "Pridobi IP naslov v PHP", najprej preučimo IP naslov. IP naslov ali naslov internetnega protokola je naslov, ki je številčni naslov ali nalepka, ki jo ima vsak sistem ali naprava, povezana v omrežje. IP naslov je dodeljen vsaki taki napravi. Te naprave uporabljajo internetni protokol za kakršno koli komunikacijo.

Različica IP

Spodaj točke Pojasnite različico IP:

  • Različica IP je določena glede na bit oznake internetnega protokola. Na primer, IPv4, ki je starejša različica, določa naslov internetnega protokola z 32-bitno številko. Z rastjo interneta je nastal IPv6, ki definira 128-bitno številko IP. IPv6 se uporablja od leta 1995 do danes. Naslov Internetnega protokola je napisan v človeku razumljivem jeziku. Primer IPv4 je naslednji 170.17.260.2, primer za IPv6 pa je 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Prostor, pridobljen z naslovi internetnih protokolov, se upravlja globalno. Register z imenom Internet Assigned Numbers Authority in ostalih pet regionalnih registrov omogoča upravljanje prostora za naslove internetnih protokolov. IANA je odgovorna za dodelitev in upravljanje prostorov naslovov internetnih protokolov vsem končnim uporabnikom in drugim ponudnikom interneta na njihovih določenih območjih ali ozemljih. Podobno je vsem napravam, ki so povezane v mrežo ponudnika internetnih storitev, dodeljen edinstven naslov internetnega protokola.
  • Obstajajo statični naslovi internetnih protokolov, ki se ne spreminjajo pogosto, na voljo so strežnikom. Ponudniki internetnih storitev napravi, ki uporablja modem, zagotavljajo poseben in edinstven naslov internetnega protokola. Ta naslov IP je edinstven za sejo in se lahko spremeni v naslednji seji.

Prepoznavanje in vračanje naslova IP v PHP

Iz varnostnih razlogov spletna mesta zbirajo IP naslove obiskovalcev svojih spletnih mest. Ta naslov lahko dobite v PHP-ju. V PHP-ju je določen niz, ki pomaga in vrne naslov IP vašega računalnika. Niz je znan kot "$ _SERVER". Vsebuje podatke o poteh, naslovih in lokacijah skriptov. Spletni strežnik ustvari podatke, potrebne za niz $ _SERVER. Včasih strežnik ne ustvari ali ne zagotovi vseh informacij, ki jih zahteva matrika, lahko nekatere izpustijo. Tako obstaja še en niz, ki se lahko uporablja v takih primerih. Zapisano je kot „SERVER_ADDR“. Ta niz vrne IP naslov strežnika, pod katerim se izvaja skript.

Metode Uporabite za pridobitev naslova IP v PHP

Spodaj je primer, ki se uporablja za pridobivanje naslova IP v php-ju:

Primeri # 1

Najenostavnejši način je, da uporabite $ _SERVER z 'REMOTE_ADDR', vrnil bo IP-naslov uporabnika, ki trenutno gleda stran.

  • Primer z uporabo ('REMOTE_ADDR') za identifikacijo strežnikovega naslova v PHP.

Koda:

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

Izhod:

Primer # 2

Druga metoda, imenovana „SERVER_ADDR“, ki se uporablja tudi za pridobivanje naslova IP strežnika.

  • Primer z uporabo („SERVER_ADDR“) za identifikacijo naslova IP strežnika v 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";
?>

Izhod:

Pojasnilo zgornjemu programu: Zgornji primer matrike ($ _SERVER) je koristen, če stroj ni priložen prek proxyja. Če je naprava povezana z internetom prek ali prek proxy strežnika, $ _SERVER ('REMOTE_ADDR') v PHP ne vrne pravilnega naslova IP. Pravkar vrne IP naslov proxy strežnika in uporabnikovega ali odjemalčevega računalnika. V tem primeru se za iskanje pravilnega naslova uporabi druga metoda.

Primer # 3

Naslednji primer je uporabljen za vrnitev pravilnega in resničnega naslova IP, tudi če se naprava skriva za proxy strežnikom. Uporablja dodatni par spremenljivk SERVER, ki so na voljo, da dobijo natančen IP naslov odjemalčevega sistema ali naprave. Znani so kot HTTP_CLIENT_IP in HTTP_X_FORWARDED_FOR.

  • Primer z uporabo („HTTP_CLIENT_IP“) in („HTTP_X_FORWARDED_FOR“) za identifikacijo naslova IP v strežniku 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();
?>

Izhod:

Če želite razumeti tok dejanj zgornje kode, se lahko za isto sklicuje na spodnji diagram poteka.

Pojasnilo zgornjemu programu: Zgornji primer za pridobivanje naslova IP uporablja dve spremenljivki, („HTTP_CLIENT_IP“) in („HTTP_X_FORWARDED_FOR“). V programu najprej poskušamo, da ga s pomočjo HTTP_CLIENT_IP neposredno izvlečemo iz stroja. Če to ni na voljo, poskušamo IP posredovati za HTTP_X_FORWARDD_FOR. Ko oba pogoja postaneta ničelna, poskusimo pridobiti IP naslov s pomočjo spremenljivke REMOTE_ADDR.

Točke, ki jih je treba zapomniti

Spodaj pri točkah ne pozabite na Pridobitev naslova IP v php-ju:

1. Ko se vrnemo nad zgornjo kodo, se vrnjeni naslov IP prikaže kot :: 1. To je znano kot povratni naslov, ki je dejansko predstavljen kot 127-krat nič, ki mu sledi 1, ki je (0000…. 127 krat… .1). Če ga zapišemo, bo zapisano kot:

2. Toda v IPv6 lahko to veliko oznako predstavljamo v kratki obliki. Če so torej v enem bloku vse ničle, jih je mogoče nadomestiti z eno samo ničlo. Ko sledimo zgornjemu pravilu, postane: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Ponovno lahko ničle odpravimo in ostane nam :: 0001

4. Kar se spet zmanjša na ' :: 1 ', torej izhod.

Pojasnilo zgornje kode: Če so narejeni za zagon, morda ne bodo dali nobenega izhoda ali morda vrnili napako časa izvajanja, ker zasebne domene ne ponujajo naslovov spletnega protokola. Čeprav se zgornje kode izvajajo na lokalnem strežniku ali lokalnem gostitelju, kot smo uporabili strežnik WAMP, bo ta zagotovil izhod v skladu z različico IP, torej če gre za IPv4, bo naslov internetnega protokola prikazan kot '127: 0: 0: 1', medtem ko gre za IPv6, bo naslov internetnega protokola prikazan kot zgoraj, da je ': 1'

Priporočeni članki

To je vodnik za pridobivanje naslova IP v PHP. Tukaj razpravljamo o prepoznavanju naslova IP, metodah v naslovu IP in točkah, ki jih je treba zapomniti v naslovu IP. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Povezava z bazo PHP
  2. Kaj je TCP / IP?
  3. Programiranje vtičnic v PHP
  4. Palindrom v PHP
  5. Palindrom v C ++
  6. Palindrome v JavaScript
  7. Najboljših 12 primerjav naslovov Mac in IP
  8. Programiranje vtičnic v Pythonu
  9. Kaj je IPv4?