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


ASP.NET. Progettare applicazioni
ASP.NET. Progettare applicazioniASP.NET, la nuova generazione di pagine ASP (Active Server Pages), offre un nuovo modello di programmazione per la creazione di...
Maggiori dettagli

Funzione BBcode con gestione degli smiles
La funzione per il BBcode che presentiamo in questo articolo è molto più evoluta di quella a cui abbiamo... 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 0.0002 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS