• Bannato User Attivo

    Calcolare la nazione di Provenienza

    Ciao,

    come posso ricavare la nazione di provenienza di un visitatore?

    Grazie


  • Super User

    Ciao napster,
    ho trovato http://www.jasx.net/JIpFromX/ e http://www.devpro.it/examples/ClientInformations.example.php
    Provali e facci sapere :);)
    Ciao!


  • User Attivo

    Scusate l'intromissione, io li ho provati, ma non mi dicono da dove vengo, vivo nella Rp. Dominicana con accesso via satellite di una compagnia USA, ma non mi riconosce, ho fatto la stessa domanda in forma diversa anche io, ma basicamente, da un ip, si riesce a scoprire realmente da dove arriva il visitatore? ho girato, ma non ho trovato niente di utile, fatemi sapere!!!


  • Bannato User Attivo

    Scusate ma con la variabile $_SERVER['HTTP_ACCEPT_LANGUAGE'] oltre alla lingua cosa si puo' ricavare?

    Cioè l'inizio della stringa è così per me: it_it (il secondo "it" non potrebbe essere la nazione? O entrambi si riferiscono alla lingua del browser?


  • User

    @Napster said:

    Scusate ma con la variabile $_SERVER['HTTP_ACCEPT_LANGUAGE'] oltre alla lingua cosa si puo' ricavare?

    Cioè l'inizio della stringa è così per me: it_it (il secondo "it" non potrebbe essere la nazione? O entrambi si riferiscono alla lingua del browser?

    Se non ricordo male it_IT sono le lingue in ordine di preferenza, it come primaria... IT bel caso non sia disponibile la prima 😉 . In teoria potrebbe essere it_EN oppure it_FR, corregetemi se sbaglio.


  • User Attivo

    idea/aiuto, si potrebbero usare i socket, > // ********************************************
    // Nom du script : whois.php
    // Auteur : [email][email protected][/email]
    // Date de création : 17 Novembre 2003
    // version : 1.3
    // Licence : Ce script est libre de toute utilisation.
    // La seule condition existante est de faire référence au site http://www.frameip.com afin de respecter le travail d'autrui.
    // ********************************************

    // ********************************************
    // Initiation des variables
    // ********************************************
    $whois_ip_demande=$_POST['ipaddress'];
    $whois_ip_demande = "80.244.127.14";
    // ********************************************
    // Vérification des champs vide
    // ********************************************
    if (empty($whois_ip_demande))
    {
    $corp='Le Whois ne peux pas avoir lieu car le champ IP est vide.';
    include 'whois_affichage_launcher.php';
    exit(0);
    }

    // ********************************************
    // Résolution du nom et conformité de l'IP selectionné
    // ********************************************
    if (ip2long($whois_ip_demande)==-1) // Si ce n'est pas une IP
    {
    $nom_correspondant=gethostbyname($whois_ip_demande); // Alors résolution du nom
    if ($nom_correspondant!=$whois_ip_demande) // Si il a résolut le nom
    $whois_ip_demande=$nom_correspondant; // Récupération de l'ip résolut
    else
    {
    $corp='Le Whois ne peux pas avoir lieu car le champ IP ne contient pas d'adresse valide ou le nom n'a pas pu être résolut.';
    include 'whois_affichage_launcher.php';
    exit(0);
    }
    }

    // ********************************************
    // Transforme les saisies tel que 10.10..4 en 10.10.0.4
    // ********************************************
    $inetaddr=ip2long($whois_ip_demande);
    $whois_ip_demande=long2ip($inetaddr);

    // ********************************************
    // Appel de la fonction connexion
    // ********************************************
    $buffer=connexion("whois.ripe.net",$whois_ip_demande);
    $serveur_ayant_repondu="whois.ripe.net";

    // ********************************************
    // Vérifie si on est sur le bon serveur
    // ********************************************
    if (eregi("www.iana.org", $buffer))
    {
    $buffer=connexion("whois.arin.net",$whois_ip_demande);
    $serveur_ayant_repondu = "whois.arin.net";
    }
    elseif (eregi("whois.apnic.net", $buffer))
    {
    $buffer=connexion("whois.apnic.net",$whois_ip_demande);
    $serveur_ayant_repondu = "whois.apnic.net";
    }
    elseif (eregi("whois.registro.br", $buffer))
    {
    $buffer=connexion("whois.registro.br",$whois_ip_demande);
    $serveur_ayant_repondu = "whois.registro.br";
    }
    elseif (eregi("nic.ad.jp", $buffer))
    {
    $buffer=connexion("whois.nic.ad.jp",$whois_ip_demande);

    ////////////////////////////////////////////////////////////////////// A VOIR
    #/e suppresses Japanese character output from JPNIC
    $extra = "/e";

            $serveur_ayant_repondu = "whois.nic.ad.jp";
            }
    

    // ********************************************
    // Affichage du nom du serveur qui à rendu l'information
    // ********************************************
    $corp='<BR>';
    $corp.='C'est le serveur '.$serveur_ayant_repondu.' qui possède l'information suivante :';
    $corp.='<BR><br>';

    // ********************************************
    // Intégre les retours charriot
    // ********************************************
    $buffer2=nl2br($buffer);

    // ********************************************
    // Affiche le resultat
    // ********************************************
    $corp.=$buffer2;
    include 'whois_affichage_launcher.php';

    // ********************************************
    // Foncvtion de connexion whois
    // ********************************************
    function connexion($serveur,$ip_recherche)
    {
    // ********************************************
    // Ouverture de la session TCP
    // ********************************************
    $socket=fsockopen($serveur, 43);

            if ($socket!=0)
                        {
                        // ********************************************
                        // Envoi de l'IP demandé
                        // ********************************************
                        fwrite($socket, "$ip_recherche\n");
           
                        // ********************************************
                        // Receptionne dans buffer la réponse
                        // ********************************************
                        while (feof($socket)==0)
                                    $tampon = $tampon . fgets($socket, 1000); // Le . signifie concatenation
           
                        // ********************************************
                        // Ferme la session TCP
                        // ********************************************
                        fclose($socket);
                        }
            else
                        {
                        $corp='Impossible de se connecter sur le serveur '.$server.' via le port 43.';
                        include 'whois_affichage_launcher.php';
                        exit(0);
                        }
           
            return ($tampon);
            }
    

    ?>
    ma a me manca l'include, ditemi come rimediare!