Maison >développement back-end >tutoriel php >Implémentation PHP pour obtenir la véritable IP du vrai client
Cet article présente principalement la méthode PHP pour obtenir la véritable IP du vrai client (REMOTE_ADDR, HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR), qui a une bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous
REMOTE_ADDR est l'adresse IP lorsque votre client « prend la main » avec votre serveur. Si un "proxy anonyme" est utilisé, REMOTE_ADDR affichera l'IP du serveur proxy.
HTTP_CLIENT_IP est l'en-tête HTTP envoyé par le serveur proxy. S'il s'agit d'un "proxy super anonyme", la valeur "none" est renvoyée. De même, REMOTE_ADDR sera remplacé par l'IP de ce serveur proxy.
$_SERVER['REMOTE_ADDR']; //Accesseur (peut être un utilisateur, peut-être un proxy) IP
$_SERVER['HTTP_CLIENT_IP']; //Côté proxy (peut exister, peut être falsifié)
$_SERVER['HTTP_X_FORWARDED_FOR'] ; Quelle adresse IP l'utilisateur utilise comme proxy (peut exister ou peut être falsifiée)
La différence entre les trois valeurs est la suivante :
1. Si aucun serveur proxy n'est utilisé :
REMOTE_ADDR = Votre IP
HTTP_VIA = Aucune valeur ou non affichée
HTTP_X_FORWARDED_FOR = Aucune valeur ou non affiché
2 Lors de l'utilisation de serveurs proxy transparents : Proxies transparents
REMOTE_ADDR = Dernière IP du serveur proxy
HTTP_VIA = IP du serveur proxy
HTTP_X_FORWARDED_FOR = Votre véritable IP Lors du passage via plusieurs serveurs proxy, cette valeur est similaire à la suivante : 203.98.182.163, 203.98.182.163, 203.129.72.215.
Ce type de serveur proxy transmet toujours vos informations à la personne que vous visitez et ne peut pas atteindre l'objectif de cacher votre véritable identité.
3. Lors de l'utilisation de serveurs proxy anonymes ordinaires : Proxies anonymes
REMOTE_ADDR = IP du dernier serveur proxy
HTTP_VIA = IP du serveur proxy
HTTP_X_FORWARDED_FOR = IP du serveur proxy Lors du passage via plusieurs serveurs proxy, cette valeur est similaire à la suivante : 203.98.182.163, 203.98.182.163, 203.129.72.215.
Cachez votre véritable IP, mais révélez à vos visiteurs que vous utilisez un serveur proxy pour y accéder.
4. L'utilisation de serveurs proxy trompeurs : distorsion des proxys
REMOTE_ADDR = IP du serveur proxy
HTTP_VIA = IP du serveur proxy
HTTP_X_FORWARDED_FOR = IP aléatoire Lors du passage via plusieurs serveurs proxy, cette valeur est similaire à la suivante : 203.98.182.163, 203.98.182.163, 203.129.72.215.
Dites au visiteur que vous utilisez un serveur proxy, mais inventez une fausse adresse IP aléatoire au lieu de votre véritable adresse IP pour le tromper.
5. Lors de l'utilisation de serveurs proxy à haut anonymat : proxys à haut anonymat (proxys Elite)
REMOTE_ADDR = IP du serveur proxy
HTTP_VIA = Aucune valeur Ou non affiché
HTTP_X_FORWARDED_FOR = Aucune valeur ou non affiché Lors du passage via plusieurs serveurs proxy, la valeur est similaire à la suivante : 203.98.182.163, 203.98.182.163, 203.129.72.215.
Remplace complètement toutes vos informations par celles du serveur proxy, tout comme vous utilisez ce serveur proxy pour accéder directement à l'objet.
//获取用户IP $ip = ''; foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_FROM', 'REMOTE_ADDR') as $v) { if (isset($_SERVER[$v])) { if (! preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $_SERVER[$v])) { continue; } $ip = $_SERVER[$v]; } } uset($ip,$v);
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Découvrez la méthode d'obtention du clientip en php
PHP basé sur la méthode d'implémentation de socket de la fonction de communication client et serveur
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!