J'ai essayé d'obtenir l'adresse IP du client naviguant sur le site en utilisant $_SERVER['REMOTE_ADDR']
, mais je ne reçois pas l'adresse IP exacte du client s'il vous plaît aidez-moi ... MerciComment faire pour obtenir l'adresse IP du client
Répondre
$_SERVER['REMOTE_ADDR']
est le meilleur que vous obtiendrez vraiment.
Il y a plusieurs autres têtes qui peuvent être envoyés par le client (HTTP_FORWARDED_FOR
et al.) - voir this question pour un aperçu complet - mais ceux-ci peuvent être librement manipulés par le client et sont pas à Lodgis .
merci pour l'aide .. – user389055
L'adresse IP que le serveur voit est l'adresse IP publique du client. S'ils sont derrière un routeur NAT, ils auront une adresse différente dans leur réseau.
Si vous exécutez ipconfig
(Windows) ou ifconfig
(systèmes Unix-y) sur l'ordinateur client, vous obtiendrez leur adresse IP locale. Si c'est dans les gammes 192.168.x.x ou 10.x.x.x, ils sont derrière un routeur NAT et Internet les verra venir d'une adresse différente.
merci pour l'aide .. – user389055
Si l'utilisateur est derrière un proxy, vous obtiendrez l'adresse IP du proxy. L'IP de l'utilisateur serait alors l'un d'entre eux (vous aurez besoin de vérifier les deux): $ _SERVER [ « HTTP_CLIENT_IP »] $ _SERVER [ « HTTP_X_FORWARDED_FOR »]
Si l'un d'eux est défini, l'utilisateur est derrière un proxy (à moins qu'il ne simule ces en-têtes) et vous devriez les utiliser comme IP source. Sinon, utilisez $ _SERVER ['REMOTE_ADDR'].
merci pour l'aide .. – user389055
// Obtenez le client réel IP
function getIP() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
} else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
} else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
return($ip);
}
- 1. Obtenir l'adresse IP du client: port (System.Runtime.Remoting.Channels)
- 2. CSocket Server obtenir l'adresse IP du client
- 3. adresse IP du client
- 4. javascript obtenir ip client
- 5. Obtenir l'adresse IP du client demandé (message de savon)
- 6. # IP du domaine du navigateur client
- 7. Obtenir le client ip avec python
- 8. Obtenez l'adresse IP du client dans Sinatra?
- 9. Ruby - Obtenir l'adresse IP du client à l'intérieur d'une gemme
- 10. RESTEasy et l'adresse IP du client
- 11. Comment obtenir l'URL du client
- 12. Comment obtenir l'adresse IP de boost :: asio :: ip :: tcp :: socket?
- 13. Comment obtenir l'URL du client à partir du service WCF?
- 14. Déterminez l'adresse IP du client distant pour l'appel RMI Java
- 15. Obtenir l'adresse IP du périphérique avec Bonjour
- 16. Intercepteur de sécurité Resteasy - comment obtenir l'adresse IP du client dans l'intercepteur?
- 17. Comment puis-je obtenir l'adresse IPv4 du client?
- 18. Comment obtenir l'adresse IP du serveur dans .NET?
- 19. Comment déterminer l'adresse IP d'un client Web (pour un JSP)?
- 20. Comment obtenir l'adresse IP du client dans le haricot de printemps
- 21. Comment obtenir la géolocalisation du client (Latitude & Longitude) extrêmement rapidement?
- 22. WCF ip client comme ipv6
- 23. Comment obtenir des alertes du côté client
- 24. Comment obtenir l'adresse IP et l'adresse IP du serveur avec Rails
- 25. Comment obtenir l'adresse IP du serveur répondant à WebResponse C#
- 26. Comment obtenir l'adresse IP ou le nom d'hôte du navigateur?
- 27. Obtenir l'adresse IP du client dans la programmation de socket en PHP
- 28. Je reçois la mauvaise adresse IP du client
- 29. Comment obtenir une adresse IP?
- 30. Obtenir l'adresse IP du serveur dans ASP.NET?
En fait, c'est la façon de le faire. Que voulez-vous dire par "pas l'adresse IP exacte"? – JochenJung
Qu'est-ce que vous obtenez de REMOTE_ADDR? – fabrik
Je soupçonne que vous recevez l'adresse IP externe du routeur - pas l'adresse IP interne que vous attendez de la machine qui consulte le site – Alex