Maison >développement back-end >tutoriel php >Comment obtenir la véritable adresse IP des visiteurs utilisant PHP, même lorsqu'ils utilisent des proxys ?
Surmonter l'obfuscation du proxy : dévoiler les véritables adresses IP des visiteurs
En tant que développeurs Web, nous sommes souvent confrontés au défi d'obtenir la véritable adresse IP d'un visiteur. , surtout lorsqu'ils utilisent des services proxy pour dissimuler leur identité. Cet article fournira une solution à ce problème en présentant un code PHP robuste qui récupère efficacement l'adresse IP réelle du visiteur, même en présence de serveurs proxy.
Le code fourni commence par inspecter la variable du serveur HTTP_CF_CONNECTING_IP, qui est généralement défini par CloudFlare lors de l'utilisation de son service proxy. Si cette variable est présente, le code met à jour HTTP_CLIENT_IP, REMOTE_ADDR et attribue la valeur de HTTP_CF_CONNECTING_IP à chacun.
Ensuite, le code examine trois variables de serveur principales : HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR et REMOTE_ADDR. Il donne la priorité à HTTP_CLIENT_IP comme étant le plus fiable. Si HTTP_CLIENT_IP est une adresse IP valide, elle est sélectionnée comme adresse IP finale.
Si HTTP_CLIENT_IP n'est pas disponible ou invalide, le code procède à l'inspection de HTTP_X_FORWARDED_FOR. Si cette variable contient également une adresse IP valide, elle est utilisée comme adresse IP du visiteur.
Enfin, si ni HTTP_CLIENT_IP ni HTTP_X_FORWARDED_FOR ne sont disponibles ou valides, le code recourt à REMOTE_ADDR en dernier recours.
En utilisant cette approche globale, vous pouvez désormais récupérer en toute confiance les véritables adresses IP des visiteurs, même lorsqu'ils tentent de les cacher derrière des serveurs proxy. Cette technique permet aux développeurs Web d'effectuer une géolocalisation précise basée sur IP, de suivre l'activité des utilisateurs et d'analyser le trafic du site Web avec une plus grande précision.
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!