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

JavaScript Discussion :

Récupérer l'ip locale et l'écrire dans un .txt avec du javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 19
    Par défaut Récupérer l'ip locale et l'écrire dans un .txt avec du javascript
    Bonjour ,
    j'ai besoin d'aide pour un script qui récupèrerait l'ip locale en 192.168... puis l'écrirais dans un .txt . et que j'aimerais utiliser pour mon site . Je comptais tout faire en php mais ceci semble impossible sans js .
    Je n'arrive pas à le à le faire se lancer. J'ai regardé plusieurs méthodes pour lancer un javascript avec du php mais rien ne marche. Je ne sais pas si c'est que j'ai mal utilisé "echo" ou si je l'ai mal inséré dans mon index.php ou si ça vient du script lui même que j'ai trouvé sur internet ,je suis totalement novice en javascript.
    Si quelqu'un aurait une idée merci d'avance
    Le code javascript en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     <script language="Javascript">
      window.RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;   //compatibility for firefox and chrome
        var pc = new RTCPeerConnection({iceServers:[]}), noop = function(){};      
        pc.createDataChannel("");    //create a bogus data channel
        pc.createOffer(pc.setLocalDescription.bind(pc), noop);    // create offer and set local description
        pc.onicecandidate = function(ice){  //listen for candidate events
            if(!ice || !ice.candidate || !ice.candidate.candidate)  return;
            var myIP = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate.candidate)[1];
            pc.onicecandidate = noop;
        };
    var fileSystem=new ActiveXObject("Scripting.FileSystemObject");
    var monfichier=fileSystem.OpenTextFile("ip.txt", 2 ,true);
    monfichier.WriteLine(ice);
    monFichier.Close();
    </script>

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 19
    Par défaut
    Je vais être plus précis :
    J'aimerais en fait récupérer les IPs publique et locale de la personne qui consulte ma page et les écrire l'une après l'autre dans un fichier texte.
    J'ai trouvé ce script issu de code source de http://diafygi.github.io/webrtc-ips/ qui trouve les 2 ips mais je n'arrive pas ensuite à les écrire dans le fichier ip.txt
    le script complet du site qui affiche sur les 2 ips sur la page:
    Code : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
     <script>
                //get the IP addresses associated with an account
                function getIPs(callback){
                    var ip_dups = {};
     
                    //compatibility for firefox and chrome
                    var RTCPeerConnection = window.RTCPeerConnection
                        || window.mozRTCPeerConnection
                        || window.webkitRTCPeerConnection;
                    var useWebKit = !!window.webkitRTCPeerConnection;
     
                    //bypass naive webrtc blocking using an iframe
                    if(!RTCPeerConnection){
                        //NOTE: you need to have an iframe in the page right above the script tag
                        //
                        //<iframe id="iframe" sandbox="allow-same-origin" style="display: none"></iframe>
                        //<script>...getIPs called in here...
                        //
                        var win = iframe.contentWindow;
                        RTCPeerConnection = win.RTCPeerConnection
                            || win.mozRTCPeerConnection
                            || win.webkitRTCPeerConnection;
                        useWebKit = !!win.webkitRTCPeerConnection;
                    }
     
                    //minimal requirements for data connection
                    var mediaConstraints = {
                        optional: [{RtpDataChannels: true}]
                    };
     
                    var servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]};
     
                    //construct a new RTCPeerConnection
                    var pc = new RTCPeerConnection(servers, mediaConstraints);
     
                    function handleCandidate(candidate){
                        //match just the IP address
                        var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
                        var ip_addr = ip_regex.exec(candidate)[1];
     
                        //remove duplicates
                        if(ip_dups[ip_addr] === undefined)
                            callback(ip_addr);
     
                        ip_dups[ip_addr] = true;
                    }
     
                    //listen for candidate events
                    pc.onicecandidate = function(ice){
     
                        //skip non-candidate events
                        if(ice.candidate)
                            handleCandidate(ice.candidate.candidate);
                    };
     
                    //create a bogus data channel
                    pc.createDataChannel("");
     
                    //create an offer sdp
                    pc.createOffer(function(result){
     
                        //trigger the stun server request
                        pc.setLocalDescription(result, function(){}, function(){});
     
                    }, function(){});
     
                    //wait for a while to let everything done
                    setTimeout(function(){
                        //read candidate info from local description
                        var lines = pc.localDescription.sdp.split('\n');
     
                        lines.forEach(function(line){
                            if(line.indexOf('a=candidate:') === 0)
                                handleCandidate(line);
                        });
                    }, 1000);
                }
     
                //insert IP addresses into the page
                getIPs(function(ip){
                    var li = document.createElement("li");
                    li.textContent = ip;
     
                    //local IPs
                    if (ip.match(/^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/))
                        document.getElementsByTagName("ul")[0].appendChild(li);
     
                    //IPv6 addresses
                    else if (ip.match(/^[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7}$/))
                        document.getElementsByTagName("ul")[2].appendChild(li);
     
                    //assume the rest are public IPs
                    else
                        document.getElementsByTagName("ul")[1].appendChild(li);
                });
            </script>
    J'ai copié tout le code au dessus de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     //insert IP addresses into the page
    et j'ai ensuite mis ce code qui ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       var fileSystem=new ActiveXObject("Scripting.FileSystemObject");
    var monfichier=fileSystem.OpenTextFile("ip.txt", 2 ,true);
    monfichier.WriteLine(getIPs);
    monFichier.Close();
    Je pense que ça doit pas être grand chose à changer mais je m'y connais vraiment pas en javascript. Si quelqu'un saurait quoi modifier?

  3. #3
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    jour

    la sauvegarde doit elle se faire en local et sur quelle navigateur ca doit fonctionner ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 19
    Par défaut
    le fichier ip.txt où il faudrait écrire est sur le serveur ou est hébergé mon site dans le même dossier que la page html.
    Pour le navigateur l'idéal serait que ça fonctionne sur tous, mais si c'est pas possible au moins les plus courants.

  5. #5
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    si il faut écrire sur le serveur la seule chose que l'on peut faire en javascript c'est d'envoyé les donné avec ajax pour le reste c'est avec le langage serveur qu'il faut voire

    et pour cette partie de code c'est de l'activex et c'est compatible uniquement avec les produit microsoft

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       var fileSystem=new ActiveXObject("Scripting.FileSystemObject");
    var monfichier=fileSystem.OpenTextFile("ip.txt", 2 ,true);
    monfichier.WriteLine(getIPs);
    monFichier.Close();

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 19
    Par défaut
    D'accord mais alors quel code devrais-je mettre pour passer la variable donnée par le code javascript en php?

Discussions similaires

  1. [DOM] écrire dans fichier xml avec PHP5
    Par devil2005 dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 10/06/2008, 18h54
  2. Récupérer des mots séparés par un espace dans un .txt
    Par elnino67 dans le forum Débuter
    Réponses: 2
    Dernier message: 28/05/2008, 22h13
  3. [DOS] écrire dans un txt sur une ligne prédéfinie
    Par Asdorve dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 12/01/2007, 15h52
  4. Comment récupérer le contenu d'un doc Word dans un txt en VB
    Par thierry007 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/09/2006, 15h17
  5. comment écrire dans un fichier avec Ant-apache
    Par sidi.elmoctar dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/04/2006, 17h44

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