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 :

Détécter si un proxy est utilisé


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut Détécter si un proxy est utilisé
    Bonjour,
    Dans une page web, je cherche un moyen pour détecter via javascript si un proxy http://xxx.xx.xx.xxx/toto.pac est utilisé par le navigateur et donc de faire quelques traitements spécifiques à ce proxy.
    Pour faire simple, il s'agit par exemple d'afficher une alerte JS "vous utilisez bien le proxy toto dans votre configuration du navigateur"
    Je sais que c'est possible via d'autres langages serveur mais là je suis contrains à le faire en javascript
    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut
    une idée, mais, avec un code en Vbscript
    http://www.bellamyjc.org/download/vbs/setproxy.vbs

    ou bien par une simple ligne de commande en Batch :
    http://superuser.com/questions/33588...proxy-settings
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    netstat -an | find "EST"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut
    Merci hackoofr, je viens d'éditer mon sujet pour plus de précision.

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut
    Ok, tu veux faire une fonction DetectProxy(URLProxy) en Javascript qui retourne True ou autre chose ? et quels sont les traitements à faire après
    de poster plus de précision

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut
    J'ai rajouté un pourquoi très simpliste du comment

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Si c'est un proxy "propre", autrement dit qu'il ne touche pas au contenu des requêtes, je doute que ce soit possible en JavaScript.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut
    Alors j'ai trouvé une première piste pour cette problématique.
    Il s'agit de faire une requête ajax et de récupérer un paramètre unique dans le header du Proxy
    Le paramètre "proxy-authenticate" par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var url=document.location;
    var req = new XMLHttpRequest();
    req.open("GET", url, true);
    req.send();
    req.onreadystatechange = function() {
        console.log(this.getAllResponseHeaders());
    }
    Par contre je ne sais pas encore comment définir ce paramètre dans le PAC lui même ou ailleurs
    Si quelqu'un s'y connaît en paramétrage Proxy je serai preneur.

  8. #8
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    heu tu veux faire ça sur le poste du client ?

    Car si c'est ça laisse tomber
    à moins que ton proxy soit une passoire il te te donnera jamais aucune information.

    c'est comme si tu demandais
    bon les gars je sais que chez vous il y a un poste de garde mais donnez moi les clefs que je puisse venir voler tout ce qu'il y a à prendre.

    Franchement si le proxy est bien configuré tu na aucun moyen de savoir dans ta page HTML s'il est là.

    sa présence est déjà en soit une info à ne pas divulguer. tu imagine bien qu'un admin serieux ne laiserais pas passer ça.
    A+JYT

  9. #9
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Il y différents types de proxy, ceux dits filtrants ou transparents dont parle sûrement sekaijin et ceux qui laissent des traces dans les headers HTTP, via les propriétés HTTP_FORWARDED, HTTP_X_FORWARDED_FOR, et HTTP_VIA. Il y en a aussi qui font bien plus que ça, par exemple de la censure de contenu... Donc tout dépend de quelle sorte de proxy on est en train de parler.

    Celui qui m'a aurait-il l'obligeance de m'expliquer en quoi j'ai tort ? Je veux bien reconnaître mes erreurs à condition que l'on m'explique...

  10. #10
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut

    Moi, aussi, je veux bien m'expliquer pourquoi le dans ma 1ère réponse

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut
    Citation Envoyé par sekaijin Voir le message
    heu tu veux faire ça sur le poste du client ?
    J'ai pas bien compris la question, en tout cas c'est en Intranet... et je peux savoir si le proxy est utilisé ou pas en inspectant les entêtes des Request Headers : Proxy-Authorization et Proxy-connection...
    Il s'agit maintenant de configurer le proxy que je cible de façon à l'identifier facilement via un de ces paramètres

  12. #12
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Proxy-Connection n'est pas standard et ne contient pas l'info que tu cherches : http://homepage.ntlworld.com/jonatha...on-header.html
    http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

    Je t'ai donné les 3 bons headers à utiliser dans mon post précédent.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut
    @SylvainPV yes
    Je compte utiliser le paramètre VIA car il me parait le plus fiable
    J'ai cité les deux autre pour répondre à sekaijin
    Ils sont les seuls que je vois pour le moment dans la Web Developer Tools

  14. #14
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par 3psilOn Voir le message
    Citation Envoyé par sekaijin
    heu tu veux faire ça sur le poste du client ?
    J'ai pas bien compris la question.
    je demande si tu veux le faire côté client car si tu le fais côté serveur tu sais dans les entêtes que la requête est passé par un proxy (quoi que pas toujours)
    dans ce cas tu peux toujours côté serveur ajouter des infos dans ta réponse et les traiter en js par le client

    A+JYT

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 77
    Par défaut
    @sekaijin
    Oui c'est ça, tout ce qui concernera un paramétrage éventuel du proxy c'est côté serveur.
    Quant à son identification, c'est côté client en JS

  16. #16
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    ce que je veux dire c'est que le serveur peut en analysant la requête détecter le proxy et donc fournir des infos au client en réponse.

    l'identification du proxy peut aussi se faire côté serveur.

    je ne parle pas du paramétrage du proxy
    A+JYT

Discussions similaires

  1. [VB.NET] Comment supprimer un fichier qui est utilisé ?
    Par Toon94 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 13/06/2010, 12h59
  2. id non défini alors qu'il est utilisé
    Par flambo88 dans le forum Langage
    Réponses: 11
    Dernier message: 15/01/2006, 01h36
  3. Réponses: 2
    Dernier message: 14/01/2006, 16h33
  4. Réponses: 9
    Dernier message: 19/12/2005, 16h41
  5. [debutant] Détecter si un port est utilisé
    Par rainz dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 01/07/2005, 15h43

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