Въведение в IP адрес

За да научите „Вземете IP адрес в PHP“, първо ще проучим IP адреса. IP адрес или адрес на Интернет протокол е адрес, който е цифров адрес или етикет, който има всяка система или устройство, свързано към мрежа. IP адресът е присвоен на всяко такова устройство. Тези устройства използват интернет протокол за всякакъв вид комуникация.

IP версия

По-долу точки Обяснете IP версията:

  • IP версията се дефинира според бита на етикета на интернет протокола. Например, IPv4, която е по-ранна версия, определя 32-битов номер на интернет протокола адрес. С нарастването на интернет се появи IPv6, който определя 128-битов IP етикет. IPv6 се използва от 1995 г. до днес. Адресът на интернет протокола е написан на разбираем за човека език. Пример за IPv4 е, както следва, 170.17.260.2, а пример за IPv6 е 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Пространството, придобито чрез адреси на интернет протоколи, се управлява глобално. Регистър, наречен Internet Assigned Numbers Authority, заедно с останалите пет регионални регистри прави възможно управлението на пространството за адреси на интернет протоколи. IANA отговаря за разпределението и управлението на пространства от адреси на интернет протоколи към всички крайни потребители и други интернет доставчици в техните определени области или територии. По подобен начин на всички устройства, свързани към мрежа на доставчик на интернет услуги, е предоставен уникален адрес на интернет протокол.
  • Има статични адреси на интернет протоколи, които не се променят често, те се предоставят на сървърите. Доставчиците на интернет услуги предоставят специфичен и уникален адрес на интернет протокол на машина, която използва модем. Този IP адрес е уникален за сесия и може да се промени за следващата сесия.

Идентифициране и връщане на IP адрес в PHP

От съображения за сигурност сайтовете събират IP адресите на посетителите на техните сайтове. Има лесен начин да получите този адрес в PHP. В PHP има специфичен масив, който помага и връща IP адреса на вашата машина. Масивът е известен като '$ _SERVER'. Тя съдържа информация за пътеките, заглавките и местоположенията на скриптове. Уеб сървърът създава информацията, необходима за масив $ _SERVER. Понякога това сървърът не създава или предоставя цялата информация, изисквана от масива, те могат да пропуснат част от него. Следователно има друг масив, който може да се използва в такива случаи. Пише се като „SERVER_ADDR“. Този масив връща IP адреса на сървъра, под който се изпълнява скриптът.

Методи Използване за получаване на IP адрес в PHP

По-долу е примерът, използван за получаване на IP адрес в php:

Примери №1

Най-простият начин е да използвате $ _SERVER с 'REMOTE_ADDR', той ще върне IP адреса на потребителя, който в момента преглежда страницата.

  • Пример използвайки ('REMOTE_ADDR') за идентифициране на IP адреса на сървъра в PHP.

Код:

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

изход:

Пример №2

Друг метод, наречен „SERVER_ADDR“, който също се използва за извличане на IP адреса на сървъра.

  • Пример, използващ ('SERVER_ADDR') за идентифициране на IP адреса на сървъра в PHP.

Код:

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

изход:

Обяснение към горната програма: Горният примерен масив ($ _SERVER) е полезен, ако машината не е свързана чрез прокси. Ако устройството е свързано към интернет чрез или чрез прокси сървъра, $ _SERVER ('REMOTE_ADDR') в PHP не връща правилния IP адрес. Той просто връща IP адреса на прокси сървъра и на машината на потребителя или клиента. В тази ситуация се използва друг метод за извличане на правилния адрес.

Пример №3

Следващият пример се използва за връщане на правилния и истински IP адрес, дори ако машината се крие зад прокси сървър. Той използва допълнителна двойка SERVER променливи, които са достъпни, за да получат точния IP адрес на клиентската система или машина. Те са известни като HTTP_CLIENT_IP и HTTP_X_FORWARDED_FOR.

  • Пример използвайки ('HTTP_CLIENT_IP') и ('HTTP_X_FORWARDED_FOR') за идентифициране на IP адреса на сървъра в PHP.

Код:

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

изход:

Ако човек трябва да разбере потока от действия на горния код, може да се обърне към следната схема за същото.

Обяснение към горната програма: Горният пример за извличане на IP адреса използва две променливи, („HTTP_CLIENT_IP“) и („HTTP_X_FORWARDED_FOR“). В програмата правим първия си опит да го извадим директно от машината, използвайки HTTP_CLIENT_IP. Ако това не е налице, ние се опитваме да препратим IP с помощта на HTTP_X_FORWARDD_FOR. Когато и двете условия падат нула, се опитваме да получим IP адреса, използвайки променливата REMOTE_ADDR.

Точки за запомняне

По-долу точки трябва да се помни за Получаване на IP адрес в php:

1. Когато върнахме горния код, върнатият IP адрес се показва като: 1. Това е известно като loopback адрес, който всъщност е представен като 127 пъти нули, последван от 1, който е (0000…. 127 пъти… .1). Ако трябва да го запишем, той ще бъде записан като:

2. Но в IPv6 можем да представим този голям етикет в кратка форма. Така че, ако в един блок има всички нули, той може да бъде заменен с единична нула. Така че, следвайки горното правило, то става: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Отново нулите могат да бъдат елиминирани и ние оставаме с :: 0001

4. Което отново се свежда до ' :: 1 ', като по този начин изходът.

Обяснение на горния код: Ако те са направени да стартират, те може да не дават изход или могат да върнат грешка във времето на изпълнение, тъй като частните домейни не предоставят адресите си в интернет протокола. Докато горните кодове се изпълняват на локален сървър или локален хост, както сме използвали WAMP сървър, той ще предостави изход според IP версията, тоест ако е IPv4, адресът на интернет протокола ще бъде показва се като „127: 0: 0: 1“, докато ако е IPv6, адресът на интернет протокола ще се покаже както по-горе, че той, „:: 1“

Препоръчителни статии

Това е ръководство за получаване на IP адрес в PHP. Тук обсъждаме Идентифициране на IP адрес, методи в IP адрес и точки, които трябва да се запомнят в IP адреса. Можете също да прегледате и другите ни свързани статии, за да научите повече -

  1. PHP база данни
  2. Какво е TCP / IP?
  3. Socket програмиране в PHP
  4. Палиндром в PHP
  5. Палиндром в C ++
  6. Палиндром в JavaScript
  7. Топ 12 сравнение на Mac и IP адреси
  8. Сокетно програмиране в Python
  9. Какво е IPv4?