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

Langage PHP Discussion :

Adresse IP externe


Sujet :

Langage PHP

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut Adresse IP externe
    bonjour tous le monde


    'oilou, je voudrais savoir la commande en php qui permet de recuperer l'adresse externe de l'utilisateur...

    $_SERVER['REMOTE_ADDR'] sert a recuperer l'adresse interne, mais je sais pas comment faire pour l'adresse externe...


    merci!

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Récupération de l'ip du visiteur
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    	{
    		$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
    	}
    elseif(isset($_SERVER['HTTP_CLIENT_IP']))
    	{
    		$ip = $_SERVER['HTTP_CLIENT_IP'];
    	}
    else
    	{
    		$ip = $_SERVER['REMOTE_ADDR'];
    	}

  3. #3
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    merci, mais moi quand je fais ca en local, il n'y a que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ip = $_SERVER['REMOTE_ADDR'];echo $ip;
    qui s'affiche.-ce qui donne 127.0.0.1

    Or ca, ca me donne pas l'adresse ip externe du pc....et c'est de ca que j'ai besoin de recuperer via php

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Sachant que l'adresse Ip a de grande chance d'être dynamique, tu pourrais utiliser un dyndns comme ça plus de problème de détection. ^^

  5. #5
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    mmmmh....

    mais si je veux recuperer l'adresse ip EXTERNE de mon modem?

    je fais un programme que je mets sur un hebergeur...

    or je veux que seul la societe de mon client y ait acces...

    pour ca il faut que je verifie l'adresse ip... or, la societe utilisant un modem, je veux recuperer l'adresse ip externe du modem, la comparer avec celle que le client me donne et dire si oui ou non il y a acces....

    si c est ca qu'il faut faire, faut il utiliser la fonction

    $_SERVER['REMOTE_ADDR'] ?

  6. #6
    Membre régulier Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    quand tu parle d'ip Externe je suppose que tu parle de l'IP de connexion visible depuis l'extérieur et non du réseau local.

    Si c'est ça, le seul moyen est de passer par un serveur distant ne faisant pas partit du réseau local.

    De toutes façons, si tu accède à ton serveur web via localhost, 127.0.0.1 ou une redirection configurés dans les /etc/hosts ou c:/windows/system32/drivers/hosts, tu resteras en local et donc n'utiliseras que ton adresse réseau local.

  7. #7
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    mmmmh....

    j'ai le WAN -ip externe du modem- de l'entreprise grace au patron de l'entreprise qui me l'a passé
    mais apres? comment faire pour recuperer le WAN de chaque utilisateur pour ainsi permettre une verification?

  8. #8
    Membre régulier Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Points : 119
    Points
    119
    Par défaut
    Le soucis est qu'au vu du serveur web, tu es le poste dont l'adresse IP est xxx.xxx.xxx.xxx et non la personne ayant l'adresse interne xxx.xxx.xxx.xxx du réseau ayant pour ip externe xxx.xxx.xxx.xxx

    Je ne pense pas qu'il soit possible de l'avoir, et si ça l'est il faudra regarder du coté des headers reçus par le serveur.

  9. #9
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    y'a pas de fonctions php pouvant recuperer l'adresse ip WAN externe du modem ?


    mais heu....ca veut dire quoi 'voir du coté des headers?'

  10. #10
    Membre régulier Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Points : 119
    Points
    119
    Par défaut
    C'est voir du coté des données autres que le contenu, celles du protocole HTTP.

    Ce sont les entêtes envoyées avant l'affichage du contenu(envoyées et reçues d'ailleurs)

    Si l'adresse WAN n'est pas communiquée par le client, tu ne peux pas la trouver malheureusement.

    Tu peux toujours chercher dans les variables super globales si quelque chose semble correspondre à ce que tu recherche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    printf('<pre>%s</pre>', $_SERVER);
     
    //   ou
     
    phpinfo();
    Désolé de ne pouvoir t'aider plus que ça.

  11. #11
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    merci quand meme c'est sympa

    je vais galereeeeeeeeeeeeer

  12. #12
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Tu es sur qu'il n'y a aucune fonction sur php.net qui permettrait de faire ca de facon simple ? Enfin, moi je n'en connais pas.

    Sinon une idée en passant (un peu absurde, mais ca donne ton ip).
    Le principe est de dire au serveur d'ouvrir une page sur un site qui donne ton IP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $url=fopen('http://www.support.gr/',"r");
    while($l=fgets($url))
    {
    	if(preg_match("/<TD><B>(\d+\.\d+\.\d+\.\d+)<\/B><\/TD>/",$l,$out))
    	{
    		//print_r($out);
    		$ip=$out[1];
    		echo $ip;
    	}
    }
    fclose($url);
    ?>
    Si ca peut depanner,

    Sohnic

  13. #13
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut


    CA MARCHE!!!!!


    atta atta : tu peux m'expliquer ce que t'as fais siouplais? c'est trop fort mais je vois pas pourquoi ca marche



    merci

  14. #14
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Et si le site est down ou que le code change tu pourras toujours courir.
    Donc le plus simple pour obtenir ce que tu veux, tu fais une page php sur un serveur que tu connais, avec un simple echo de l'IP et tu fais un file_get_contents('http://www.tonserveur.com/tapage.php')

    Exemple fichier ip.php à placer sur un serveur web externe :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    	{
    		$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
    	}
    elseif(isset($_SERVER['HTTP_CLIENT_IP']))
    	{
    		$ip = $_SERVER['HTTP_CLIENT_IP'];
    	}
    else
    	{
    		$ip = $_SERVER['REMOTE_ADDR'];
    	}
    	echo $_SERVER['HTTP_CLIENT_IP'];
     
    ?>

    Et ensuite tu récupères comme ca :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $ip = file_get_contents('http://www.tonserveur.com/ip.php');
    echo $ip;
    ?>

  15. #15
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    mais...

    ce que je voudrais savoir, c'est est ce que ca donnera l'adresse externe du modem ta methode?

  16. #16
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Ben oui !

  17. #17
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut


    merci beaucoup!!!!!! Excellent, vraiment genial! Super sympa!

  18. #18
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Je savais bien qu'il y avait plus intelligent comme methode !

    S.

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

Discussions similaires

  1. [Web/Reseaux] Trouver l'adresse IP Externe
    Par Pasqualini dans le forum C++Builder
    Réponses: 9
    Dernier message: 02/11/2011, 18h17
  2. Adresse IP externe d'un poste local
    Par medchok dans le forum Développement
    Réponses: 4
    Dernier message: 19/05/2010, 16h51
  3. Récupérer adresse IP externe
    Par Hellgast dans le forum C++Builder
    Réponses: 1
    Dernier message: 09/03/2010, 16h52
  4. comment faire pour afficher l'adresse IP externe ?
    Par longbeach dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/08/2006, 14h04

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