• [^] # Re: isInNet et myIpAddress

    Posté par (site web personnel) . En réponse au message Fichier proxy .pac ou wpad.dat. Évalué à 3. Dernière modification le 29 janvier 2014 à 22:01.

    Je confirme, à condition que l'ipv6 soit désactivée ...
    Tu peux même faire des fonctions au besoin (ici pour boucler sur une 20ene d'entrées)

    var debug=0; // 0 a 3 de plus en plus verbeux
    function isItNetwork(reseaux,iptest) {
     var find=false;
     var i = 0;
     var nbNet = reseaux.length;
     for (i=0; i< nbNet; i++) {
     reseau=reseaux[i].split("/");
     if (debug>=3) alert(iptest+" est-il dans "+reseau[0]+"/"+reseau[1]+"?");
     if (isInNet(iptest, reseau[0], reseau[1])) {
     if (debug>=2) alert(iptest+" est dans "+reseau[0]+"/"+reseau[1]);
     find=true;
     break;
     }
     }
     return find;
    }
    var reseaux_test = new Array (
     "192.168.1.0/255.255.255.0",
     "192.168.2.0/255.255.255.0",
     "192.168.3.0/255.255.255.0",
     "192.168.4.0/255.255.255.0"
     );
    var myip = myIpAddress();
    // Sur mon IP
    if (isItNetwork(reseaux_test,myip)) {
     if (debug>=1) alert("2.1 Proxy : "+proxy_no);
     return proxy_no;
    }
    // Sur le host de destination
    if (isItNetwork(reseaux_test,host)) {
     if (debug>=1) alert("2.1 Proxy : "+proxy_no);
     return proxy_no;
    }

    Fonction sympa aussi pour détecter les hosts ayant un noms courts

    // Si SRC sans point dans le nom on est en local
    if (isPlainHostName(host)) {
     if (debug>=1) alert("0.0 Proxy : "+proxy_no);
     return proxy_no;
    }

    Is it a Bird? Is it a Plane?? No, it's Super Poil !!!