Visualizzazione dei risultati da 1 a 7 su 7

Discussione: whois errore

  1. #1
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866

    whois errore

    Questo whois resituisce LIBERO, quindi erraro, se si digita anche il www. , altrimenti è ok;
    sapete dirmi perchè?

    codice:
    <?php
    
    $dominio=$_POST[dominio];
    
    $err_ext=1;
    $domarray = explode(".", $dominio);
    //echo "$dominio";
    $count = count($domarray) - 1;
    $ext = strtolower($domarray[$count]); // resituisce minuscolo
    
    $niclist = "ar im as am au bt bg cl cc cg bi rw 
    zr cr cz dk ec fo gl fr de ir jo my mx ni nl nu 
    pk pl ru sg sk es tw th to tm uk ua co ch li";
    $uslist = "com net";
    $orglist = "org";
    $eulist = "eu";
    $ripelist = "il gr gg je";
    $apniclist = "info";
    $bizniclist = "biz";
    $jpniclist = "jp";
    echo "<blockquote><font face=Verdana color=#000080 size=2>";
    
    if($ext != "") {
             if(ereg($ext, $niclist)) {
                         $whois_serv = "whois." . "nic." . $ext;
                         $errorlevel = 0;
             }
             elseif(ereg($ext, $orglist)) {
                     $whois_serv = "whois.pir.org";
                     $errorlevel = 0;
             }
             elseif(ereg($ext, $uslist)) {
                     $whois_serv = "whois.internic.net";
                     $errorlevel = 0;
             }
             elseif(ereg($ext, $ripelist)) {
                     $whois_serv = "whois.ripe.net";
                     $errorlevel = 0;
             }
             elseif(ereg($ext, $apniclist)) {
                     $whois_serv = "whois.afilias.info";
                     $errorlevel = 0;
             }
             elseif(ereg($ext, $bizniclist)) {
                     $whois_serv = "whois.nic.biz";
                     $errorlevel = 0;
             }
             elseif(ereg($ext, $eulist)) {
                     $whois_serv = "whois.eu";
                     $errorlevel = 0;
             }
             elseif(ereg($ext, $jpniclist)) {
                     $whois_serv = "whois.nic.ad.jp";
                     $dominio = $dominio . "/e";
                     $errorlevel = 0;
             }
             elseif($ext == "se") {
                     $whois_serv = "whois.nic-se.se";
                     $errorlevel = 0;
             }
             elseif($ext == "lu") {
                      $whois_serv = "whois.restena.lu";
                     $errorlevel = 0;
             }
             elseif($ext == "ws") {
                      $whois_serv = "whois.nic.ws";
                     $errorlevel = 0;
             }
             elseif($ext == "tv") {
                      $whois_serv = "whois.nic.tv";
                     $errorlevel = 0;
             }
             elseif($ext == "it") {
                      $whois_serv = "das.nic.it";
                     $errorlevel = 0;
             }
             else {
                     $errorlevel = 2;
                     echo "Errore: il dominio di 
    primo livello $ext non è riconosciuto.
    Nessuna ricerca effettuata
    ";
    //              echo "<a href=dominio.htm>Nuova ricerca</a>";
             }
    }
    else {
    //         echo "Stringa vuota
    Nessuna ricerca effettuata
    ";
    //      echo "<a href=dominio.php>Nuova ricerca</a>";
             $errorlevel = 1;
    }
    
    
    //Stringa non vuota ed estensione (tld) riconosciuta
      if (!empty($dominio) && $errorlevel == 0) {
             $fp = fsockopen("$whois_serv", 43, $errno, $errstr, 30);
              if(!$fp) {
                     echo "Errore di connessione $errstr ($errno)
    \n";
                     echo "<a href=index.php>Nuova ricerca</a>";
             }
             else {
                     fputs($fp,"$dominio\n");
                     while(!feof($fp)) {
                             $output = $output . 
    ereg_replace("\t", "", fgets($fp,128)); // . "
    \n";
                     }
                     fclose($fp);
    
                     //controlliamo se il dominio è libero
                     if  (ereg( "No entries found", 
    $output) || ereg("No match", $output) || 
    ereg("NOT FOUND", $output) || ereg("Not found", 
    $output) || ereg("Free", $output) || ereg("FREE", 
    $output) || ereg("AVAILABLE", $output)) {
                             echo "Il dominio 
    $dominio è: <font color=#00DD00>LIBERO!</font>
    
    ORDINA</font>";
                    }
                     else {
                             echo "Il dominio 
    $dominio è: <font 
    color=#FF0000>OCCUPATO!</font>
    
    ";
                                     if ($_POST[info]=="yes") {
                                             echo "<h2>Dati del dominio:</h2>
    ";
                                             echo nl2br($output);
                                     }
                     }
             }
    
    
    
    }//chiudo if
    
    
    
    class whois_search {
      var $mappa_estensione_server = array (
          "it" => "das.nic.it",
          "com" => "whois.internic.net",
          "net"  => "whois.ripe.net",
          "org"  => "whois.pir.org",
          "info" => "whois.afilias.net",
          "biz"  => "whois.nic.biz",
          "eu"  => "whois.eu",
          "name"  => "whois.name",
          "uk" => "whois.nic.uk",
          "fr" => "whois.nic.fr",
          "tv" => "whois.nic.tv",
          "ws" => "whois.worldsite.ws",
          "ch" => "whois.nic.ch",
          "at" => "whois.nic.at",
    	  "se" => "whois.nic-se.se",
      );
      function do_whois($dominio) {
        $dominio = strtolower(trim($dominio));
        $pos_punto = strrpos($dominio, ".");
        if (!$pos_punto) {
          return "nome di dominio non valido";
        } else {
          $estensione = substr($dominio, $pos_punto + 1);
          if (!array_key_exists($estensione,$this->mappa_estensione_server)) {
            return "estensione .".$estensione." non supportata";
          }
        }
        $server = $this->mappa_estensione_server[$estensione];
        $puntatore_whois =  fsockopen($server, 43, $errno, $errstr, 30);
        $html_output = '';
        if (!$puntatore_whois) {
          $html_output = "$errstr ($errno)";
        } else {
           fputs($puntatore_whois, "$dominio\r\n");
           $html_output .= "<pre>\r\n";
           while (!feof($puntatore_whois)) {
             $html_output .= fread($puntatore_whois,128);
           }
          $html_output .= "</pre>";
           fclose ($puntatore_whois);
        }
        return $html_output;
      }
      function print_allowed_extension () {
        $vettore_estensioni = array_keys($this->mappa_estensione_server);
        $estensioni_supportate = '';
        for ($i = 0; $i < count($vettore_estensioni); $i++) {
          $estensioni_supportate .= ' .'.$vettore_estensioni [$i].' ';
        }
        return $estensioni_supportate;
      }
    }
    $whois = new whois_search();
    
    if (isset($_POST["dominio"])) {
     // $corpo_pagina = '<h2>Domain name Whois</h2>'.$html_form.'<hr>';
      $corpo_pagina  .= '<h3>Risultato Whois per il dominio : '.$POST["dominio"].'</h3>
    ';
      $corpo_pagina .= $whois->do_whois($_POST["dominio"]);
    } else {
      $corpo_pagina = '<h2>Domain name Whois</h2>'.$html_form;
    }
    unset($whois);
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Ricerca Whois</title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    </head>
    <body>
    <form method="POST" action="ordina.php">
    www. <input type="text" size="30" name="dominio" value="" class="form_whois">
    <input type="image" src="images/go2.gif" border="0"  align="absmiddle" hspace="5">
    </form>
    <?php 
    
    
    
    $parti = explode( "*", $corpo_pagina );  
    $estensione = $parti[ count( $parti ) - 1 ];
    
                 if  (ereg("ACTIVE", $output) || ereg("clientDeleteProhibited", $output) || ereg("clientTransferProhibited
    ", $output) || ereg("clientRenewProhibited", $output) || ereg("clientUpdateProhibited", $output))  {
    ?>
    <h4><?
    echo "<pre>"; 
    echo "$estensione \r\n";
    echo "</pre>"; 
    ?>
    </h4>
    <?php
    }
    ?>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    ho controllato che

    echo "$output";

    stampa AVAILABLE quando appunto il dominio viene scritto www.nomedominio e non solo nomedominio;


  3. #3
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Io credo che il problema sia quì: non sono pratico di php, lavoro in asp normalmente, ma credo che si dovrebbe intervenire su $dominio; qui infatti si genera $output

    codice:
    //Stringa non vuota ed estensione (tld) riconosciuta
      if (!empty($dominio) && $errorlevel == 0) {
             $fp = fsockopen("$whois_serv", 43, $errno, $errstr, 30);
              if(!$fp) {
                     echo "Errore di connessione $errstr ($errno)
    \n";
                     echo "<a href=index.php>Nuova ricerca</a>";
             }
             else {
                     fputs($fp,"$dominio\n");
                     while(!feof($fp)) {
                             $output = $output . 
    
    
    ereg_replace("\t", "", fgets($fp,128)); // . "
    \n";
                     }
                     fclose($fp);

  4. #4
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Facendo così, cioè inserendo 2, cioè il numero max di elementi dell'array

    $domarray = explode(".", $dominio, 2 );


    stampa, digitando www.nomedominio

    Errore: il dominio di primo livello nomedominio non è riconosciuto.
    Nessuna ricerca effettuata

    altrimenti digitando solo il nomedominio stampa giusto!

    Un bel passo avanti...

  5. #5
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    bastava...

    $dominio = str_replace("www.", "", $dominio);

  6. #6
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    poi per stampare correttamente i dati del whois:

    $corpo_pagina .= $whois->do_whois("$dominio");

    invece di:

    $corpo_pagina .= $whois->do_whois($_POST["dominio"]);



  7. #7
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Correzione:
    dunque, il sorgente presentava un errore quando si digitava un'estensione errata, tipo .i invece di it e così via.
    Oltre al Replace
    $dominio = str_replace("www.", "", $dominio);

    ho riportato:

    $domarray = explode(".", $dominio, 2 );

    a

    $domarray = explode(".", $dominio );

    come prima.

    Ed infine

    if (!empty($dominio)) {

    che prima era if (!empty($dominio) && $errorlevel == 0) {

    in questo modo questa parte del codice

    echo "Errore di connessione $errstr ($errno)
    \n";
    echo "<a href=index.php>Nuova ricerca</a>";

    funge e quindi quando si digita l'estensione errata, si stampa; si può omettere il link ed anche le variabili stampando solo Errore di connessione, hai digitato un estensione errata.



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.