Bonjour à tous,

Je cherche à récupérer l'adresse ip du visiteur au format ipv4 (ex. 11.22.333.444) mais la fonction $this->request->clientIp() et la variable $_SERVER["REMOTE_ADDR"] me retourne l'adresse ip au format ipv6.
Je n'arrive pas à trouver sur internet une façon pour convertir l'ipv6 en ipv4.

Si quelqu'un a une solution.

Merci d'avance

8 réponses


Salut !

Tu as regardé du côté de la fonction "gethostbyname" de PHP ?

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Merci pour ta réponse mais la fonction gethostbyname retourne l'adresse ipv4 du serveur ('www.exemple.com') et non celle du visiteur.

Hello,

Bizarre j'utilise cette fonction dans mes apps et elle me retourne l'IP au format ipv4. Ca viendrais pas du server ? Utilises-tu un proxy ? (ClouFlare, Cloud etc)

Même chose que Xeta, ne serais-tu pas sur un proxy de type cloudflare ?

Vous parlez de quelle fonction ? $this->request->clientIp() ou gethostbyname('www.example.com') ?
Sinon non je n'utilise pas de proxy.

Bonjour,

est-ce que tu es entrain d'essayer de récupérer ton adresse Ip localement sur ton projet ou sur un serveur distant ?

Sur un serveur distant.

En local ça donne ::1

re Bonsoir,

ce problème peut parvenir VIA ton OS si par exemple si c'est un VPS que tu utilises il se peut que la configuration au fait de supporter l'IPV6 engendre ce "return apv6", si c'est le cas tu dois désactiver le support apv6 de ton OS restart ton serveur Apache si c'est apache et retester.

Cdt.