IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

Récupérer l'adresse ip à travers un serveur proxy


Sujet :

Web Perl

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Récupérer l'adresse ip à travers un serveur proxy
    Bonjour

    Comme expliqué dans le titre, je désire récupérer l'adresse ip d'un visiteur même si celui-ci passe par un serveur proxy.

    J'ai le code PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $ip = (getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') : getenv('REMOTE_ADDR'));
    return $ip;
    ?>
    En perl, toujours un problème de syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sub ip
    {
         our $ip=(($ENV{'HTTP_X_FORWARDED_FOR'}) ? ($ENV{'HTTP_X_FORWARDED_FOR'}) : ($ENV{'REMOTE_ADDR'}));
         return $ip;
    }
    J'ai bien entendu testé le script PHP et il fonctionne même en passant par exemple avec le serveur proxy de Free.

    Merci
    .Olivier

  2. #2
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    J'ai trouvé une solution pour trouvé l'adresse IP du client, le nom d'hôte et les mêmes informations concernant le proxy s'il l'utilise.

    Début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    package Utils;     # Package name
    use strict;        # Checking all variables
     
    my $cgi=new CGI;   # New CGI object
    Client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sub visitor
    {
    	our $visitor_ip=$ENV{HTTP_X_FORWARDED_FOR} || $cgi->remote_addr();
    	our $visitor_host=(gethostbyaddr(pack("C4", split(/\./, $visitor_ip)), 2))[0];
    	return $visitor_ip;
    	return $visitor_host;
    }
    Proxy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sub proxy
    {
    	our $proxy_ip=$ENV{HTTP_X_FORWARDED_FOR} && $cgi->remote_addr();
    	our $proxy_host=(gethostbyaddr(pack("C4", split(/\./, $proxy_ip)), 2))[0];
    	return $proxy_ip;
    	return $proxy_host;
    }
     
    1:
    Dans l'exemple, j'utilise un module d'ou l'utilisation de our.

    ++
    .Olivier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment récupérer l'adresse de son propre serveur?
    Par _Ulysse_ dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 19/12/2008, 23h40
  2. Réponses: 3
    Dernier message: 23/04/2008, 09h51
  3. Réponses: 2
    Dernier message: 11/07/2006, 10h42
  4. récupérer l'adresse ip d'un serveur...
    Par youp_db dans le forum Windows
    Réponses: 4
    Dernier message: 01/09/2005, 11h30
  5. Récupérer l'adresse IP du serveur dans variable ?
    Par ZERS dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/09/2004, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo