Y a-t-il un moyen de collecter l'adresse IP d'un client connecté à votre site Web via un serveur proxy? P>
La configuration complète est un réseau local interne et via Sysadmin, j'ai également le contrôle de la machine de proxy. J'utilise PHP5 pour le côté serveur de site Web. P>
J'ai essayé Des idées? P> $ _ Server ['Remote_addr'] code> dans PHP mais cette variable stocke simplement l'adresse IP du proxy. P>
4 Réponses :
Cela dépend du proxy. Certains procurations ajoutent une en-tête qui donne l'adresse IP originale, l'en-tête X-Forwarded-pour-en-tête, mais étant donné que la plupart des entreprises utilisent des procurations pour masquer la structure de réseau interne rare. Si tel est le cas, vous n'allez pas pouvoir le faire facilement. P>
Si vous avez le contrôle sur le proxy, il est temps de lire la documentation du proxy pour savoir comment ajouter cet en-tête. P>
PHP analyse-t-il l'en-tête XFF dans une variable de serveur?
Sur certains proxy, il vous donne une option comment gérer l'en-tête XFF existant (lorsque la demande passe dans plusieurs proxies). Voici ce que vous devez considérer, p>
X-transmis-for code> est le seul moyen d'obtenir l'adresse IP du client. Vérifiez s'il y a un moyen de permettre cela dans votre proxy. P>
La solution standard (en PHP) est la suivante: mais comme la première réponse indique que tout dépend de l'en-tête en cours de réglage. P> P>
En réalité, cela ne fonctionne pas: au lieu de "http_x_forward_for", il est "http_x_forwarded_for"
Ce code peut être utilisé pour obtenir l'adresse IP du client qui se connecte via un proxy. mais il ne détecte que lorsque le proxy est transparent. p> ci-dessous est le Informations sur le proxy HTTP: P> n'utilise aucun serveur proxy: p>
Utilisez des proxy transparents: p>
Utilisez des proxies anonymes normales: p>
demande.getremOteaddr () code> = adresse IP du client li>
demande.getheader ("http_x_forwarded_for") code> = aucune valeur ou pas d'affichage li>
ul> li>
http_x_forwarded_for code> = adresse IP réelle du client li>
ul> li>
request.getremoeaddr () code> = adresse IP du serveur proxy li>
http_x_forwarded_for code> = adresse IP du serveur proxy li>
ul> li>
ol> p>
Ummm .. c'est Java. Question est marquée comme php.