8768 sujets

Développement web côté serveur, CMS

Bonjour à vous tous,

Je vous pose mes questions sur le PHP dans ce forum car vos réponses sont bien plus rapides que celles des formateurs de mes cours d'initiation. Ils mettent plusieurs jours à répondre !

Je suis actuellement dans le chapitre des Variables prédéfinies et variables externes :

echo $_SERVER['PHP_SELF'] . '<br>';
echo $_SERVER['SERVER_NAME'] . '<br>';
echo $_SERVER['HTTP_USER_AGENT'] . '<br>';
echo $_SERVER['REMOTE_ADDR'] . '<br>';

Le résultat est le suivant :

/boucles/conditions.php
localhost
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36
::1


J'ai compris que les variables prédéfinies sont prêtes à l'emploi et disponibles en permanence. Elles fournissent des informations variées et peuvent être directement utilisées dans les scripts PHP.

Mais la dernière la variable echo $_SERVER['REMOTE_ADDR']; me renvoie la valeur ::1 alors qu'elle est censée renvoyer l'adresse IP du genre 127.0.0.1.

Il y a une explication à cela ?
Modifié par ObiJuanKenobi (06 Apr 2022 - 06:56)
Un titre explicite inciterait d’avantage les connaisseurs à cliquer et éviterait à ceux qui n'y connaissent rien en php (comme moi) de cliquer dessus.
Salut,

je suis d'accord avec l'explication d'Anedja Smiley good

Si tu veux obtenir 127.0.0.1 au lieu de ::1 , tu dois pouvoir modifier un fichier de configuration d'apache (apache2.conf ou httpd.conf généralement selon la distrib) et remplacer listen 80 par listen 127.0.0.1:80.
bah ipv4 c'est la première version de l'IP classique

127.0.0.1 est l'ip qui correspond à localhost pour toutes les machines du monde.

Une IP j'imagine que tu vois ce que c'est.

IPv6 c'est pareil que IPv4 sauf que c'est beaucoup plus large.

L'ipv4 c'est sur 32 bit chaque nombre représente un octet, l'ipv6 c'est sur 128 bit
Modifié par JENCAL (06 Apr 2022 - 15:34)
Modérateur
ObiJuanKenobi a écrit :
Je vous pose mes questions sur le PHP dans ce forum car vos réponses sont bien plus rapides que celles des formateurs de mes cours d'initiation. Ils mettent plusieurs jours à répondre !

Et pourtant ils sont payé pour Smiley biggol
Une adresse IP (Informatique protocole) est une adresse unique, c'est-à-dire une série de numéros qui identifient un ordinateur au sein du réseau internet.
La on est plus vraiment dans le PHP mais plutôt dans du réseau Smiley ohwell

Pour ta définition, a priori IP c'est plutôt "Internet Protocol" que informatique.
Pour le coté "adresse unique", c'est relativement théorique en IPV4 : on ne peut adresser qu'un peu plus de 4 milliards d'adresse (2^32) ce qui n'est pas suffisant à l'échelle de la planète.
Du coup il faut distinguer les adresses IP publiques (qui elles sont bien des adresses "uniques") des adresses IP privées (on parle également de "sous réseaux") qui sont globalement les même dans chaque sous réseaux.
En schématisant un peu : ta box internet à une adresse IP publique (unique) qui lui permet de communiquer sur internet (donc avec les autres box internets) et une adresse IP privée (généralement du 192.168.1.X) qui lui permet de communiquer avec tes ordinateurs tablettes and co qui ont aussi des adresses en 192.168.1.X).
Vu que ta box internet est connectés sur 2 réseaux, elle fait passer tes messages d'un réseaux à l'autre ce qui permet à ton ordinateur d’accéder à "internet"

Normalement cela devient plus réaliste en IPV6 (mais je n'ai pas trop suivi l'évolution de la mise en place de l'IPV6)