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:
<_?phpecho '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:
<_?phpfunction 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 -
- PHP-tietokantayhteys
- Mikä on TCP / IP?
- Socket-ohjelmointi PHP: ssä
- Palindromi PHP: ssä
- Palindromi C ++: ssa
- Palindrome JavaScript-muodossa
- 12 parasta Mac- ja IP-osoitteiden vertailua
- Socket-ohjelmointi Pythonissa
- Mikä on IPv4?