Introduction à l'adresse IP

Pour apprendre «Obtenir l'adresse IP en PHP», nous allons d'abord étudier l'adresse IP. Une adresse IP ou une adresse de protocole Internet est une adresse qui est une adresse numérique ou une étiquette que possède chaque système ou périphérique connecté à un réseau. L'adresse IP est attribuée à chacun de ces appareils. Ces appareils utilisent le protocole Internet pour tout type de communication.

Version IP

Points ci-dessous Expliquez la version IP:

  • Une version IP est définie en fonction du bit de l'étiquette du protocole Internet. Par exemple, IPv4, qui est une version antérieure, définit une adresse de protocole Internet de numéro 32 bits. Avec la croissance d'Internet, IPv6 a vu le jour qui définit une étiquette IP à 128 bits. IPv6 est utilisé depuis 1995 jusqu'à aujourd'hui. L'adresse du protocole Internet est écrite dans un langage compréhensible par l'homme. Un exemple d'IPv4 est le suivant, 170.17.260.2 et un exemple d'IPv6 est 2001: db8: 2: 1434: 1: 587: 5: 2.
  • L'espace acquis par les adresses de protocole Internet est géré globalement. Un registre appelé Internet Assigned Numbers Authority avec les cinq autres registres régionaux rend possible la gestion de l'espace pour les adresses de protocole Internet. L'IANA est responsable de l'attribution et de la gestion des espaces d'adresses de protocole Internet à tous les utilisateurs finaux et autres fournisseurs Internet dans leurs zones ou territoires désignés. De même, tous les appareils connectés à un réseau de fournisseur de services Internet se voient attribuer une adresse de protocole Internet unique.
  • Il existe des adresses statiques de protocole Internet qui ne changent pas souvent, elles sont fournies aux serveurs. Les fournisseurs de services Internet fournissent une adresse de protocole Internet spécifique et unique à une machine qui utilise un modem. Cette adresse IP est unique pour une session et peut changer pour la prochaine session.

Identifier et renvoyer l'adresse IP en PHP

Pour des raisons de sécurité, les sites collectent les adresses IP des visiteurs de leurs sites. Il existe un moyen simple d'obtenir cette adresse en PHP. Il existe un tableau spécifique en PHP qui aide et renvoie l'adresse IP de votre machine. Un tableau est appelé «$ _SERVER». Il contient des informations sur les chemins, les en-têtes et les emplacements des scripts. Le serveur Web crée les informations requises pour le tableau $ _SERVER. Parfois, le serveur ne crée pas ou ne fournit pas toutes les informations requises par la baie, il peut en omettre certaines. Il existe donc un autre tableau qui peut être utilisé dans de tels cas. Il est écrit comme 'SERVER_ADDR'. Ce tableau renvoie l'adresse IP du serveur sous lequel le script s'exécute.

Méthodes utilisées pour obtenir l'adresse IP en PHP

Voici l'exemple utilisé pour obtenir une adresse IP en php:

Exemples # 1

Le moyen le plus simple consiste à utiliser $ _SERVER avec 'REMOTE_ADDR', il renverra l'adresse IP de l'utilisateur qui consulte actuellement la page.

  • Exemple utilisant ('REMOTE_ADDR') pour identifier l'adresse IP du serveur en PHP.

Code:

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

Production:

Exemple # 2

Une autre méthode, appelée 'SERVER_ADDR', qui est également utilisée pour récupérer l'adresse IP du serveur.

  • Exemple utilisant ('SERVER_ADDR') pour identifier l'adresse IP du serveur en PHP.

Code:

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

Production:

Explication du programme ci-dessus: L'exemple de tableau ci-dessus ($ _SERVER) est utile si la machine n'est pas connectée via un proxy. Si la machine est connectée à Internet via ou via le serveur proxy, $ _SERVER ('REMOTE_ADDR') en PHP ne renvoie pas l'adresse IP correcte. Il renvoie simplement l'adresse IP du serveur proxy et de la machine de l'utilisateur ou du client. Dans cette situation, une autre méthode est utilisée pour récupérer l'adresse correcte.

Exemple # 3

L'exemple suivant est utilisé pour renvoyer l'adresse IP correcte et réelle même si la machine se cache derrière un serveur proxy. Il utilise une paire supplémentaire de variables SERVER qui sont disponibles pour obtenir l'adresse IP exacte du système ou de la machine du client. Ils sont appelés HTTP_CLIENT_IP et HTTP_X_FORWARDED_FOR.

  • Exemple utilisant ('HTTP_CLIENT_IP') et ('HTTP_X_FORWARDED_FOR') pour identifier l'adresse IP du serveur en PHP.

Code:

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

Production:

Si l'on veut comprendre le flux d'actions du code ci-dessus, on peut se référer au diagramme suivant pour le même.

Explication du programme ci-dessus: L'exemple ci-dessus pour récupérer l'adresse IP utilise deux variables, ('HTTP_CLIENT_IP') et ('HTTP_X_FORWARDED_FOR'). Dans le programme, nous faisons notre première tentative pour le retirer directement de la machine en utilisant HTTP_CLIENT_IP. Si ce n'est pas disponible, nous essayons pour IP «transféré pour» en utilisant HTTP_X_FORWARDD_FOR. Lorsque les deux conditions sont nulles, nous essayons d'obtenir l'adresse IP à l'aide de la variable REMOTE_ADDR.

Points à retenir

Ci-dessous, les points doivent être rappelés pour obtenir une adresse IP en php:

1. Que lorsque nous avons exécuté le code ci-dessus, l'adresse IP retournée s'affiche sous la forme :: 1. Ceci est connu comme une adresse de bouclage qui est en fait représentée comme 127 fois des zéros suivis d'un 1 qui est (0000…. 127 fois… .1). Si nous devons l'écrire, il sera écrit comme suit:

2. Mais en IPv6, nous pouvons représenter cette grande étiquette sous une forme courte. Donc, s'il y a tous des zéros dans un seul bloc, il peut être remplacé par un seul zéro. Ainsi, une fois suivie la règle ci-dessus, elle devient: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Encore une fois, les zéros peuvent être éliminés et nous nous retrouvons avec: 0001

4. Ce qui est à nouveau réduit à « :: 1 », d'où la sortie.

Explication du code ci-dessus: S'ils sont conçus pour s'exécuter, ils peuvent ne donner aucune sortie ou renvoyer une erreur d'exécution car les domaines privés ne fournissent pas leurs adresses de protocole Internet. Alors que si les codes ci-dessus sont exécutés sur un serveur local ou un hôte local, comme nous avons utilisé un serveur WAMP, il fournira une sortie selon la version IP, c'est-à-dire, s'il s'agit d'un IPv4, l'adresse du protocole Internet sera affiché comme '127: 0: 0: 1' alors que s'il s'agit d'un IPv6, l'adresse du protocole Internet sera affichée comme ci-dessus, c'est-à-dire, ':: 1'

Articles recommandés

Ceci est un guide pour obtenir l'adresse IP en PHP. Ici, nous discutons de l'identification de l'adresse IP, des méthodes dans l'adresse IP et des points à retenir dans l'adresse IP. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -

  1. Connexion à la base de données PHP
  2. Qu'est-ce que TCP / IP?
  3. Programmation des sockets en PHP
  4. Palindrome en PHP
  5. Palindrome en C ++
  6. Palindrome en JavaScript
  7. Top 12 Comparaison des adresses Mac vs IP
  8. Programmation des sockets en Python
  9. Qu'est-ce que IPv4?