Récupération de l'adresse IP réelle du visiteur malgré l'utilisation d'un proxy
Le code PHP couramment utilisé pour obtenir l'adresse IP d'un visiteur est :
Cependant, cette méthode ne parvient pas à capturer la véritable adresse IP lorsque des proxys sont en jeu. En cherchant une solution à ce problème, examinons une approche alternative.
Fonction PHP personnalisée pour la détermination IP
Le code PHP fourni offre une solution complète, prenant en compte les connexions CloudFlare. et divers autres facteurs :
function getUserIP()
{
// Handle CloudFlare connections
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();
Ce code attribue l'adresse IP à la variable $user_ip, qui peut ensuite être utilisée selon les besoins dans votre script PHP.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3