Johdanto IP-osoitteeseen

Ensin opimme 'Hanki IP-osoite PHP: llä' tutkimaan IP-osoitetta. IP-osoite tai Internet Protocol -osoite on osoite, joka on numeerinen osoite tai tarra, joka jokaisella verkkoon kytketyllä järjestelmällä tai laitteella on. Jokaiselle tällaiselle laitteelle annetaan IP-osoite. Nämä laitteet käyttävät Internet-protokollaa millaiseen viestintään tahansa.

IP-versio

Alla olevat kohdat Selitä IP-versio:

  • IP-versio määritetään Internet-protokollan etiketin bitin mukaan. Esimerkiksi IPv4, joka on aikaisempi versio, määrittelee 32-bittisen numeron Internet-yhteysosoitteen. Internetin kasvun myötä syntyi IPv6, joka määrittelee 128-bittisen IP-tunnisteen. IPv6: ta on käytetty vuodesta 1995 nykypäivään. Internet Protocol -osoite on kirjoitettu ihmiselle ymmärrettävällä kielellä. Esimerkki IPv4: stä on seuraava, 170.17.260.2 ja esimerkki IPv6: lle on 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Internet-yhteysosoitteiden hankkimaa tilaa hallitaan globaalisti. Internet Assigned Numbers Authority -niminen rekisteri yhdessä viiden muun aluerekisterin kanssa mahdollistaa Internet-yhteysosoitteiden tilanhallinnan. IANA vastaa Internet-yhteyskäytäntöosoitteiden allokoinnista ja hallinnasta kaikille loppukäyttäjille ja muille Internet-palveluntarjoajille heidän nimetyillä alueilla tai alueilla. Samoin kaikille Internet-palveluntarjoajan verkkoon kytketyille laitteille osoitetaan yksilöivä Internet-yhteysosoite.
  • On olemassa staattisia Internet-yhteysosoitteita, jotka eivät muutu usein, ne toimitetaan palvelimille. Internet-palveluntarjoajat toimittavat tietyn ja ainutlaatuisen Internet-yhteysosoitteen modeemia käyttävälle koneelle. Tämä IP-osoite on yksilöllinen istunnolle ja saattaa muuttua seuraavassa istunnossa.

IP-osoitteen tunnistaminen ja palauttaminen PHP: ssä

Turvallisuussyistä sivustot keräävät sivustojensa vierailijoiden IP-osoitteet. Tämä osoite on helppo tapa saada PHP: hen. PHP: ssä on tietty taulukko, joka auttaa ja palauttaa koneesi IP-osoitteen. Taulukko tunnetaan nimellä '$ _SERVER'. Se sisältää tietoja polkuista, otsikoista ja komentosarjojen sijainneista. Verkkopalvelin luo tiedot, joita tarvitaan $ _SERVER-taulukkoon. Joskus palvelin ei luo tai anna kaikkia taulukon edellyttämiä tietoja, ne voivat jättää osan siitä. Siksi on olemassa toinen ryhmä, jota voidaan käyttää tällaisissa tapauksissa. Se kirjoitetaan nimellä 'SERVER_ADDR'. Tämä taulukko palauttaa sen palvelimen IP-osoitteen, jonka alla skripti on käynnissä.

Menetelmät IP-osoitteen hankkimiseksi PHP: ssä

Alla on esimerkki IP-osoitteen saamiseksi php: ssä:

Esimerkit # 1

Yksinkertaisin tapa on käyttää $ _SERVER ”REMOTE_ADDR” -sovelluksen kanssa, se palauttaa käyttäjän IP-osoitteen, joka katselee sivua.

  • Esimerkki käyttämällä ('REMOTE_ADDR') palvelimen IP-osoitteen tunnistamiseen PHP: ssä.

Koodi:

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

lähtö:

Esimerkki 2

Toinen menetelmä, nimeltään 'SERVER_ADDR', jota käytetään myös palvelimen IP-osoitteen hakemiseen.

  • Esimerkki palvelimen IP-osoitteen tunnistamiseksi PHP: ssä ('SERVER_ADDR').

Koodi:

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

lähtö:

Selitys yllä olevaan ohjelmaan: Yllä oleva esimerkki taulukko ($ _SERVER) on hyödyllinen, jos konetta ei ole liitetty välityspalvelimen kautta. Jos kone on yhteydessä Internetiin välityspalvelimen kautta tai välityksellä, PHP: n $ _SERVER ('REMOTE_ADDR') ei palauta oikeaa IP-osoitetta. Se vain palauttaa välityspalvelimen ja käyttäjän tai asiakkaan koneen IP-osoitteen. Tässä tilanteessa oikean osoitteen hakemiseen käytetään toista menetelmää.

Esimerkki 3

Seuraavaa esimerkkiä käytetään oikean ja todellisen IP-osoitteen palauttamiseen, vaikka kone olisi piilossa välityspalvelimen takana. Se käyttää ylimääräistä paria SERVER-muuttujia, jotka ovat käytettävissä tarkan IP-osoitteen saamiseksi asiakkaan järjestelmästä tai koneesta. Niitä kutsutaan HTTP_CLIENT_IP ja HTTP_X_FORWARDED_FOR.

  • Esimerkki käyttämällä ('HTTP_CLIENT_IP') ja ('HTTP_X_FORWARDED_FOR') palvelimen IP-osoitteen tunnistamiseen PHP: ssä.

Koodi:

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

lähtö:

Jos ymmärretään yllä olevan koodin toimien kulkua, voidaan viitata seuraavaan vuokaavioon.

Selitys yllä olevaan ohjelmaan: Edellä oleva esimerkki IP-osoitteen hakemiseksi käyttää kahta muuttujaa, ('HTTP_CLIENT_IP') ja ('HTTP_X_FORWARDED_FOR'). Ohjelmassa yritämme ensimmäisen kerran saada se suoraan pois koneelta käyttämällä HTTP_CLIENT_IP. Jos sitä ei ole saatavilla, yritämme 'välittää' IP: lle HTTP_X_FORWARDD_FOR: lla. Kun molemmat ehdot eivät ole voimassa, yritämme saada IP-osoitteen REMOTE_ADDR-muuttujan avulla.

Muistaa

Pisteiden alapuolella on muistettava IP-osoitteen hankkiminen php: ssä:

1. Edellä mainitun koodin suorittamisen yhteydessä palautettu IP-osoite näytetään muodossa :: 1. Tätä kutsutaan silmukkaosoitteeksi, jota tosiasiallisesti edustaa 127 kertaa nolla, jota seuraa 1, joka on (0000…. 127 kertaa… .1). Jos aiomme kirjoittaa sen muistiin, se kirjoitetaan seuraavasti:

2. Mutta IPv6: ssa voimme edustaa tätä suurta tarraa lyhyessä muodossa. Joten jos yhdessä lohkossa on kaikki nollat, se voidaan korvata yhdellä nollalla. Joten kun yllä olevaa sääntöä noudatetaan, siitä tulee: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Jälleen nollat ​​voidaan eliminoida, ja meillä on :: 0001

4. Joka taas pienenee ' :: 1 ', siis lähtö.

Selitys yllä olevaan koodiin: Jos ne tehdään suoritettaviksi, ne eivät välttämättä anna mitään lähtöä tai saattavat palauttaa ajonaikavirheen, koska yksityiset verkkotunnukset eivät tarjoa Internet-yhteysosoitteitaan. Vaikka yllä olevat koodit suoritetaan paikallisella palvelimella tai paikallisella isännällä, kuten olemme käyttäneet WAMP-palvelinta, se tuottaa IP-version mukaisen lähdön, ts. Jos se on IPv4, Internet-yhteysosoite on näytetään muodossa '127: 0: 0: 1', kun taas, jos se on IPv6, Internet-yhteysosoite näkyy kuten yllä, että ':: 1'

Suositellut artikkelit

Tämä on opas IP-osoitteen hankkimiseksi PHP: ssä. Tässä keskustellaan IP-osoitteen tunnistamisesta, IP-osoitteessa käytettävistä menetelmistä ja IP-osoitteessa muistettavista kohdista. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -

  1. PHP-tietokantayhteys
  2. Mikä on TCP / IP?
  3. Socket-ohjelmointi PHP: ssä
  4. Palindromi PHP: ssä
  5. Palindromi C ++: ssa
  6. Palindrome JavaScript-muodossa
  7. 12 parasta Mac- ja IP-osoitteiden vertailua
  8. Socket-ohjelmointi Pythonissa
  9. Mikä on IPv4?