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 :

Afficher un alert/console suivant l'IP


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 507
    Par défaut Afficher un alert/console suivant l'IP
    bonjour,

    je cherche à débugger un souci technique dans un gros script JS.
    j'ai besoin d'afficher le suivi d'une variable qui évolue en valeurs: page1, page2,page3,page4 suivant un timeout.
    J'ai besoin d'afficher un alert(variable) suivant mon adresse IP afin que ça ne s'affiche pas aux visiteurs actuellement sur le site (car je n'ai pas de version dev -non-prod-, je travaille en direct sur le site d'hébergeur) de mon applicatif en ligne .

    y-a-t-il un moyen en JS de faire if (ip) alert(hello) else console.log(hello) ?

    j'ai pas le moyen en php d'écrire dans le body html l'IP client, mais peut-être que la librairie JS du navigateur peut fournir cette variable dans un script ?

    merci de votre aide.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 390
    Par défaut
    https://api.ipify.org/?format=json

    Bjr,
    Pas test mais ca a l'air de répondre à ton besoin,

    Si js only va falloir tapé sur du back quelque part, que tu le fasse toi même ou non

    Cdt,
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  3. #3
    Membre émérite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 463
    Par défaut
    Bonjour,

    Au lieu de vérifier l'adresse ip, une solution aussi simple pourrait être de vérifier la présence d'un paramètre GET dans l'url (exemple https://monsite.com/?debug=1)
    https://developer.mozilla.org/en-US/...archParams/get

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 506
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 506
    Par défaut
    autre solution : cote serveur, tu set une variable JS (si l'ip correspond).
    dans ton script, tu testes l'existance de cette variable pour debugger ou non
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Membre expérimenté
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2014
    Messages : 469
    Par défaut
    Bonjour. Tu veux faire passer une variable de page en page ?
    Les cookies et le web storage sont là pour ça.

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 103
    Par défaut
    À garder en tête : en mettant ton ip dans le code JavaScript, elle sera visible de tout le monde, à toi de décider si c’est une information sensible ou non. Le code JS est envoyé côté client, à partir de là tu n’en as plus le contrôle. Même s’il est minifié ou obfusqué, quelqu’un de suffisamment motivé peut le décortiquer.

    J’ai une question peut-être stupide mais je la pose quand même : connais-tu le debugger JavaScript présent dans tous les navigateurs ? Tu peux y placer des points d’arrêt et des expressions espionnes, ça me semble parfait pour ton besoin
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 228
    Par défaut
    Bonjour,
    si j'ai bien entrevu le besoin je dirais, outre ce qui a déjà été dit, qu'il faut simplement faire un F12 sur la page et mettre le bout de code suivant dans la console du navigateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log = (a)=> alert("Debug :\n" + JSON.stringify(a))
    ...les console.log seront alors affichés comme alerte ! mais bon ...

  8. #8
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 507
    Par défaut
    Citation Envoyé par Watilin Voir le message
    À garder en tête : en mettant ton ip dans le code JavaScript, elle sera visible de tout le monde, à toi de décider si c’est une information sensible ou non. Le code JS est envoyé côté client, à partir de là tu n’en as plus le contrôle. Même s’il est minifié ou obfusqué, quelqu’un de suffisamment motivé peut le décortiquer.

    J’ai une question peut-être stupide mais je la pose quand même : connais-tu le debugger JavaScript présent dans tous les navigateurs ? Tu peux y placer des points d’arrêt et des expressions espionnes, ça me semble parfait pour ton besoin
    en fait je me demandais surtout si c'était possible aussi de le régler dans le navigateur (firefox) ? peut-être qu'on peut dire d'afficher les log en alert ou pas suivant l'IP...
    Dans ce cas l'ip est visible uniquement sur mon poste.

  9. #9
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 506
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 506
    Par défaut
    et la solution cote serveur ne convient pas ?
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
    $debug = false;
    if($_SERVER['HTTP_CLIENT_IP'] === '127.0.01') {
    $debug = true;
    }
    ...
    // au niveau du JS
    echo '<script>const debug = '.$debug.';</script>
    puis, dans tes fichiers JS
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    if(debug) { .... }

    comme ca, les ip que tu tests restent "cachees" (cote serveur)

    note : c'est ecris a la volee, mais pour que tu comprennes le concept.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  10. #10
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 527
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    en fait je me demandais surtout si c'était possible aussi de le régler dans le navigateur (firefox) ? peut-être qu'on peut dire d'afficher les log en alert ou pas suivant l'IP...
    Suivant quelle adresse IP ?

    Il faut bien garder à l'esprit qu'un poste, quel qu'il soit, peut déjà utiliser plusieurs adresses IP publiques, donc cela n'a déjà pas beaucoup de sens en soi. Que ce soit en entreprise ou, aujourd'hui, avec des boxes modernes qui sont toutes configurées par défaut en routeur et plus du tout en bridge ne serait-ce que parce que c'est nécessaire pour assurer le partage de connexion (c'est tellement naturel avec les smartphones et le Wi-Fi que plus personne ne sait ce que c'est…), l'adresse qui est utilisée par ta machine est une adresse interne privée (généralement en 192.168.x.x) et l'adresse publique visible par le serveur qui reçoit ta connexion est en fait celle de ta box.

    En outre, il n'est pas plus facile d'accéder à l'adresse d'un poste au sein d'un navigateur en Javascript qu'il ne l'est d'accéder à un fichier (ceux-ci, pour des raisons évidentes de sécurité, d'ailleurs). Il existe bien des projets qui proposent de le faire mais moyennant beaucoup de contorsions, la création d'objets compliqués et surtout, en suivant des méthodes qui ne vont pas fonctionner sur tous les navigateurs.

    Pour faire court : une adresse IP ne permet pas d'identifier un poste avec certitude. Elle n'est pas faite pour.

    Avec cela, comme on l'a dit plus haut, si tu parviens à récupérer une adresse privée locale, alors il y a de fortes chances pour que des milliers de machines dans le monde utilisent la même également.

    La bonne manière de faire est de définir une fois pour toutes un cookie sur ta machine (ou de passer par le Web Storage), et demander au PHP qu'il t'envoie les données de débogage uniquement si le contenu de ce cookie lui est transmis par ton navigateur. C'est la vraie bonne manière de s'assurer que les données ne soient pas seulement « masquées » aux autres personnes, mais d'être surtout certain qu'elles ne leur seront pas envoyées du tout.

Discussions similaires

  1. [Eclipse3.1] Plus rien ne s'affiche dans ma console !
    Par tnodev dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 12/10/2005, 13h05
  2. Réponses: 7
    Dernier message: 02/09/2005, 16h15
  3. Réponses: 4
    Dernier message: 25/05/2005, 15h39
  4. Afficher un alert autrement que sur onclick
    Par haigwepa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/02/2005, 17h47
  5. [Reports 6i] Faire afficher une alerte.
    Par macben dans le forum Reports
    Réponses: 3
    Dernier message: 15/02/2005, 11h47

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