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>