Programme qui permet de récupérer l'adresse ip même derrière un proxy via le controle Inet. (retournera l'ip locale si utilisé en local par exemple avec un server apache)
Source / Exemple :
'---------------------------- Le code VB -------------------------------
Dim URL As String
Dim ipreelle As String
Private Sub Command1_Click()
URL = "http://127.0.0.1/ip.php" ' --> page que j'ai faite et qui est dans le zip. Normalement la variable utilisée renvoie l'ip même si la personne est derrière un proxy.
ipreelle = Inet1.OpenURL(URL)
Do While Inet1.StillExecuting
DoEvents
Loop
Inet1.Execute , "CLOSE"
If ipreelle <> "" Then
Label1.Caption = "Connecté"
Label2.Caption = ("IP : " & ipreelle)
Else
Label2.Caption = "Déconnecté"
End If
End Sub
'------------------- La page php à mettre sur un server -----------------------
<?PHP
/* Coded by ElastycmaN */
$vraieip = getenv("HTTP_X_FORWARDED_FOR");
if ($vraieip=="")
{$vraieip = $REMOTE_ADDR;
}
echo $vraieip;
?>
Conclusion :
La variable d'environnement HTTP_X_FORWARDED_FOR est utilisée par certains proxys pour indiquer l'adresse de la machine cliente pour laquelle ils effectuent la requete HTTP. Cette technique ne marche donc que si la personne est derrière un proxy d'ou l'utilisation de $REMOTE_ADDR afin de quand meme avoir un retour si la personne n'est pas derrière un proxy.
Il est bien précisé que HTTP_X_FORWARDED_FOR n'est pas utilisé par tout les proxys... cela ne marche donc pas à tout les coups mais presque!
..::ElastycmaN::..
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.