Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Php :: Indice Php

Un semplice Whois in PHP

Inserito il: 30-05-2007


Un Whois è un'applicazione che permette di reperire tutte le informazioni di pubblico dominio riguardanti.. un dominio e per contro anche di sapere se un nome di dominio è al momento disponibile per la registrazioneo meno.

Vi sono tantissime varianti di Whois realizzate nei linguaggi più diversi. Noi proporremo al lettore un Whois realizzato interamente in PHP che ci permetterà di controllare nomi di dominio dotati delle estensioni più diffuse come it, com, org e net.

Riportiamo di seguito il codice del nostro piccolo script, subito dopo ne commenteremo le parti più importanti:
<?php
class get_Whois {

var $server_array = array (
"it" => "whois.nic.it",
"com" => "rs.internic.net",

"net" => "rs.internic.net",
"org" => "whois.pir.org",
);

function show($domain_name) {
$domain_name = strtolower(trim($domain_name));
$dot = strrpos($domain_name, ".");

if (!$dot) {
 return "Formato non corretto per un nome di name.";
 } else {
 $ext = substr($domain_name, $dot + 1);
  if (!array_key_exists($ext,$this->server_array)) {
  return "Impossibile risolvere l'estensione ".$ext;
  }
}

$server = $this->server_array[$ext];
$check_whois = fsockopen($server, 43, $errno, $errstr, 30);

$result = '';
 if (!$check_whois) {
  $result = "$errstr ($errno)";
  } else {
  fputs($check_whois, "$domain_name\r\n");
  $result .= "<pre>\r\n";
   while (!feof($check_whois)) {
   $result .= fread($check_whois,128);
   }
  $result .= "</pre>";
 fclose ($check_whois);
 }
return $result;
}

function extension () {
 $extension_array = array_keys($this->server_array);
 $extension_alw = '';
  for ($i = 0; $i < count($extension_array); $i++) {
  $extension_alw .= ' '.$extension_array [$i];
  }
 return $extension_alw;
 }
}

$whois = new get_Whois();

if (isset($_POST['name'])) { echo 'Dominio ricercato: '.$_POST['name']; echo $whois->show($_POST['name']); unset($whois); } else { ?> <form method=post action="<? echo $_SERVER['PHP_SELF']; ?>"> Nome dominio: <input type="text" name="name"> <br> Estensioni accettate: <? echo $whois->extension() ?> <br> <input type="submit" value="Whois"> </form> <? } ?>

Abbiamo quindi creato una classe all'interno della quale è stato introdotto un array() contenente le estensioni interessate e gli indirizzi dei server attraverso i quali operare le ricerche.

La prima operazione svolta dallo script è quella relativa alla validazione dell'estensione passata come parametro: viene utilizzato il punto come discriminante tra nome ed estensione, quest'ultima deve essere presente nell'array() introddotto all'inizio o il parametro sarà considerato non valido.

Il passaggio più importante riguarda la restituzione dei risultati della ricerca che si ottengono tramite l'istanza della classe che applicherà la funzione in grado di raccogliere i parametro, passarlo ai server Whois e restituire di conseguenza il loro output completo di informazioni.

Di default, in mancanza dell'invio di un paramero, verrà visualizzato il form con il quale effettuare la ricerca.


Indice Php
Apache (19)
CGI (11)
Java (12)
Jsp (16)
Linux (18)
Manuali (4)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (172)
Forum


Gocce di Java
Gocce di JavaUn'introduzione al linguaggio di programmazione Java che segue un approccio di programmazione procedurale prima che di programmazione orientata agli oggetti....
Maggiori dettagli

Le funzioni per le espressioni regolari: POSIX estesa
Ci occuperemo ora di sette funzioni native del PHP che potremo sfruttare per le nostre operazioni di pattern matching e... Leggi l'articolo



Aiutiamo l'Abruzzo - Terremoto del 6 Aprile 2009 - Invia anche tu un SMS vuoto al numero 48580 al costo di 1 euro

Aspcenter.net
Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
AG web solutions
Ceptive.it
Jacoz.net
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Design multimedia
proBLOG
Visual designer
Forum per Webmaster




Pagina caricata in 9.5129 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS