Comment récupérer l'adresse IP authentique du visiteur
Lors de la tentative d'obtention de l'adresse IP d'un visiteur à l'aide du code PHP par défaut , il se peut qu'il ne récupère pas l'adresse IP réelle lorsqu'un proxy est utilisé. Cet article vise à résoudre ce problème en fournissant une solution robuste.
Le code PHP fourni répond efficacement à ce défi :
<?PHP function getUserIP() { // Handle CloudFlare network's IP masking if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $user_ip = getUserIP(); echo $user_ip; // Output IP address [Ex: 177.87.193.134] ?>
Ce code vérifie méthodiquement l'adresse IP du visiteur à l'aide de divers en-têtes, en tenant compte de l'utilisation potentielle des proxys, y compris ceux employés par CloudFlare. Il filtre méticuleusement les adresses IP récupérées pour fournir la représentation la plus précise de la véritable adresse IP du visiteur.
En mettant en œuvre ce code, vous pouvez vous assurer que vous obtenez systématiquement les adresses IP authentiques de vos visiteurs, qu'ils soient ou non. utilisent ou non des proxys.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!