recuperer l'ip d'un visiteur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recuperer l'ip d'un visiteur

par BeRoots » 13 déc. 2006, 15:19

merci shanone & jojolapine ;)

si d'autre son motiver par ce beta test, cliquez ici, et rapporter nous les info afficher sur cette page de test.

je tient à préciser que le but est d'utiliser un proxy afin de voir si celui ci est bien detecter et si il est bien identifier...

merci d'avance au futur testeur :)

par Shanone » 29 nov. 2006, 18:48

:D A je voie que ma capture est affichée :wink:
j'ai utilisé un proxy :!:
A oui moi c'est Shanone
A+

par Invité » 29 nov. 2006, 18:42

8) excuse moi pour la capture je réessaye
Image

si cela ne fonctionne pas voici le lien : http://users.skynet.be/djoussy/ScreenShot001.jpg

par jojolapine » 29 nov. 2006, 12:58

salut pas proxy (freebox)
DETECTION DES PARAMETRE DU VISITEUR:
Tes infos naviguateur, système d’exploitation : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 ExaleadToolbar/1.0 Firefox/2.0
le type de proxy utilisé est : pas de proxy
Ton IP réelle est : xxx.xxx.xxx.xxx
Ton HOST réel est : xxx.xxx.xxx.xxx
Ton IP PROXY réel est : pas de proxy
Ton HOST PROXY réel est : pas de proxy

par BeRoots » 29 nov. 2006, 12:55

salut et merci pour ton test :)
par contre je n'arrive pas à voir ta capture :-k

je vait expliquer une procèdure simple pour ce beta test pour simplifier la vie des testeurs ;)

1°) preciser si vous utiliser un proxy et si ou le type de celui-ci.
2°) copier coller le contenue de la page de test qui est fourni dans mon 4ème message (sans votre IP perso bien sur)

cela suffira largement ;)
merci d'avance pour vos tests ;)

PS: je tient à préciser qu'il ne reside aucun vice cacher sur cette page de test et que vous pouvez aussi très bien modifier les IP après votre copier/coller afin de garantire votre anonymat... C'est juste pour me permettre de voir si tel ou tel détection fonctionne ;)

Test

par Invité » 29 nov. 2006, 08:25

8) Salut, je viens d'essayer le test et voici le résultat :!: :wink:

Image

par BeRoots » 24 nov. 2006, 12:35

bon, j'ai fait une petite page de test afin qu vous puissiez m'aider plus facilement [-o<

voici le code de cette page:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>MON IP</TITLE>
</HEAD><BODY>
<h2>DETECTION DES PARAMETRE DU VISITEUR:</h2>
<?
     $nav_os = $_SERVER["HTTP_USER_AGENT"]; // récuperation des infos de connection (OS/BROWSER)

     if (isset($_SERVER['HTTP_CLIENT_IP'])) // si proxy détecté
     {
	$ip = $_SERVER['HTTP_CLIENT_IP'];        // récuperation de l'ip supposé du client
	$host = gethostbyaddr($ip);              // recuperation de l'hote supposé du client
        $ip_proxy = $_SERVER['REMOTE_ADDR'];     // récuperation de l'ip du proxy
        $host_proxy = gethostbyaddr($ip_proxy);  // recuperation de l'hote du proxy

        // on détermine le type de proxy et si possible l'ip reel du client
        if($host_proxy = $ip_proxy) // si la fonction gethostbyaddr($ip_proxy) échoue et qu'elle retourne $ip_proxy, proxy hautement sécurisé
        {
            $type_proxy = 'proxy hautement anonyme';
            $ip =  'rien';  // car on ne peut pas savoir l'ip
            $host = 'rien'; // car on ne peut pas savoir l'hote
        }
        elseif($ip != $ip_proxy) // si proxy aléatoire ou proxy transparent (normal), on doit définir lequel
        {
            // on execute une deuxieme requete pour voir si l'ip2 differt de l'ip
            $ip2 =  $ip = $_SERVER['HTTP_CLIENT_IP'];

            if($ip != $ip2) // si proxy aléatoire (ip aleatoire pour le client)
            {
                $type_proxy = 'proxy aléatoire';
                $ip =  "$ip (aleatoire)";  // car on ne peut pas savoir l'ip
                $host =  "$host";  // car on ne peut pas savoir l'hote
            }
            else // si proxy transparent (normal) (ip et host client récuperable)
            {
                $type_proxy = 'proxy transparent (normal)';
            }
        }
        else // si proxy anonyme (ip et host sont celles du proxy)
        {
            $type_proxy = 'proxy anonyme';
            $ip = 'm&ecirc;me ip que proxy';   // car on ne peut pas savoir l'ip
            $host = 'm&ecirc;me hote que proxy'; // car on ne peut pas savoir l'hote
        }
     }
     elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) // si proxy détecté
     {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  // récuperation de l'ip supposé du client
	$host = gethostbyaddr($ip);              // recuperation de l'hote supposé du client
	$ip_proxy = $_SERVER['REMOTE_ADDR'];     // récuperation de l'ip du proxy
        $host_proxy = gethostbyaddr($ip_proxy);  // recuperation de l'hote du proxy

        // on détermine le type de proxy et si possible l'ip reel du client
        if($host_proxy = $ip_proxy) // si la fonction gethostbyaddr($ip_proxy) échoue et qu'elle retourne $ip_proxy, proxy hautement sécurisé
        {
            $type_proxy = 'proxy hautement anonyme';
            $ip =  'rien';  // car on ne peut pas savoir l'ip
            $host = 'rien'; // car on ne peut pas savoir l'hote
        }
        elseif($ip != $ip_proxy) // si proxy aléatoire ou proxy transparent (normal), on doit définir lequel
        {
            // on execute une deuxieme requete pour voir si l'ip2 differt de l'ip
            $ip2 =  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

            if($ip != $ip2) // si proxy aléatoire (ip aleatoire pour le client)
            {
                $type_proxy = 'proxy aléatoire';
                $ip =  "$ip (aleatoire)";  // car on ne peut pas savoir l'ip
                $host =  "$host";  // car on ne peut pas savoir l'hote
            }
            else // si proxy transparent (normal) (ip et host client récuperable)
            {
                $type_proxy = 'proxy transparent (normal)';
            }
        }
        else // si proxy anonyme (ip et host sont celles du proxy)
        {
            $type_proxy = 'proxy anonyme';
            $ip = 'm&ecirc;me ip que proxy';   // car on ne peut pas savoir l'ip
            $host = 'm&ecirc;me hote que proxy'; // car on ne peut pas savoir l'hote
        }
     }
     else // si pas de proxy détecté
     {
        $ip = $_SERVER['REMOTE_ADDR']; // recuperation de l'ip du membre
        $host = gethostbyaddr($ip);    // recuperation de l'hote du membre
	$ip_proxy = 'pas de proxy';                // pas d'ip proxy
	$host_proxy = 'pas de proxy';              // pas d'hote proxy
	$type_proxy = 'pas de proxy';

     }
echo "<b>Tes infos naviguateur, syst&egrave;me d&rsquo;exploitation :</b> $nav_os<br/>";
echo "<b>le type de proxy utilis&eacute; est :</b> $type_proxy<br/>";
echo "<b>Ton IP r&eacute;elle est :</b> $ip<br/>";
echo "<b>Ton HOST r&eacute;el est :</b> $host<br/>";
echo "<b>Ton IP PROXY r&eacute;el est :</b> $ip_proxy<br/>";
echo "<b>Ton HOST PROXY r&eacute;el est :</b> $host_proxy<br/>";

?>
</BODY></HTML>
si certain d'entre vous utilise ou savent utiliser un proxy, j'aimerai savoir si tout fonctionne :-k

si vous voyez des anomalie dans le code, n'hésitez pas à le dire ;)

Merci pour vos participation à venir pour ce beta-test :D

BeRoots, qui va tenter une fois de plus d'installer un proxy, mais qui à déja aracher 80% de ces cheveux dans ces tentative :lol:

par BeRoots » 24 nov. 2006, 07:37

je relance ce sujet car j'ai une nouvelle question :roll:

je cherche à déterminé l'hote d'un client derriere un proxi. (si proxi simple)

dans le cas où j'arriverai à déterminer l'adresse réel du client utilisant un proxi, je voulais savoir si cette fonction me retournerai l'hote réel du proxi ou l'hote du proxi :-k
<?php
$host = gethostbyaddr($ip_reel_client);
$host_proxi = gethostbyaddr($ip_proxi);
?>
1°) quand penser vous?
2°) dans le cas d'un proxi aléatoire, on dit que l'ip change à chaque requete...
est il possible possible de faire deux requete consecutive dans une même fonction?
merci d'avance ;)

par BeRoots » 21 nov. 2006, 13:37

comme ceci?
// on prend l'ip de la meilleure manière qu'il soit
function get_ip() 
{
    if (isset($_SERVER['HTTP_CLIENT_IP']))
    { 
        $ip = $_SERVER['HTTP_CLIENT_IP']; 
    }
    elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    { 
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    }
    else 
    { 
        $ip = $_SERVER['REMOTE_ADDR']; 
    }
    return $ip;
} 
EDIT: ooops, j'avais pas vue mais qq1 avait laisser la même chose dans les commentaire du site que tu m'a fournie...

encore merci à toi Ryle ;)

par Ryle » 21 nov. 2006, 13:30

C'est sans doute ce que l'on peut faire de mieux, mais cela ne te garantira jamais une IP sure à 100%. Voici un site où tu trouveras un peu plus d'infos sur les résultats obtenus en fonction de la configuration du proxy.

Par ailleurs, au lieu des getenv(), j'utiliserais la superglobale $_SERVER à la place :)

recuperer l'ip d'un visiteur

par BeRoots » 21 nov. 2006, 13:23

salut à tous :)

je voulais savoir si cette fonction me permettrai de récuperer l'ip fixe d'un visiteur en passant outre les possible proxi... :-k
// on prend l'ip de la meilleure manière qu'il soit
function get_ip() 
{
	if (getenv("HTTP_CLIENT_IP"))
	{ 
		$ip = getenv("HTTP_CLIENT_IP"); 
	}
	elseif(getenv("HTTP_X_FORWARDED_FOR"))
	{ 
		$ip = getenv("HTTP_X_FORWARDED_FOR"); 
	}
	else 
	{ 
		$ip = getenv("REMOTE_ADDR"); 
	}
	return $ip;
}
merci d'avance ;)