Einfacher Domain Whois

Gesperrt
Jens*
Beiträge: 26
Registriert: Sa 6. Mär 2004, 12:42
Kontaktdaten:

Einfacher Domain Whois

Beitrag von Jens* »

Hier ein einfacher Domain Whois.

Weitere TLD's können einfach hinzugefügt werden!

z.B unter

Code: Alles auswählen

else if((eregi("\.info\$", $target)) || (eregi("\.info\$", $ntarget)))
  $server = "whois.afilias.net";
den gleichen angepaßten Code hinzufügen für die jeweiligen Domains.
Farben könnte man noch per CSS anpassen.

Aber hier erstmal der Code! Viel Spaß damit

Output

Code: Alles auswählen

<?
// Domain Whois 
// Einfacher Domain Whois für Contenido 4.x
// Getestet mit 4.4.4
// Version: 08.03.2004
//
//  
// Author: ????
// Modified by: Jens jensf@uni.de
// Passe folgende Zeile deinen Bedürfnissen an:
// <form method="post" action="front_content.php?idcat=7">
// Wußte nicht wie ich das besser lösen sollte :-)


#Until I rewrite my scripts, this will suffice for compatibility
if(phpversion() >= "4.2.0"){
   extract($_POST);
   extract($_GET);
   extract($_SERVER);
   extract($_ENV);
}

?>
<script>
function m(el) {
  if (el.defaultValue==el.value) el.value = ""
}
</script>

<div align="center"> 
  <h2>Domain Whois</h2>
  <form method="post" action="front_content.php?idcat=7">
    <table width="60%" border="0" cellspacing="0" cellpadding="1">
      <tr bgcolor="#9999FF"> 
        <td bgcolor="#6666FF"><font color="#FFFFFF"><b>Domain Whois</b></font></td>
      </tr>
      <tr valign="top" bgcolor="#CCCCFF"> 
        <td> 
          <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
            <input type="radio" name="queryType" value="wwwhois" checked>
            Domain Whois<br>
            &nbsp;</font></p>
        </td>
      </tr>
      
      </table>
  <table width="60%" border="0" cellspacing="0" cellpadding="1"><tr
bgcolor="#9999FF"> 
        <td colspan="2">
          <div align="center">
            <input type="text" name="target" 
value="Bitte Domain eingeben ohne www und http" onFocus="m(this)">
            <input type="submit" name="Submit" value="Prüfen">
          </div>
        </td>
      </tr>
    </table>
  </form>
</div>
<?

#Global kludge for new gethostbyaddr() behavior in PHP 4.1x
$ntarget = "";

#Some functions

function message($msg){
echo "<font face=\"verdana,arial\" size=2>$msg</font>";
flush();
}

function lookup($target){
global $ntarget;
$msg = "$target resolved to ";
if( eregi("[a-zA-Z]", $target) )
  $ntarget = gethostbyname($target);
else
  $ntarget = gethostbyaddr($target);
$msg .= $ntarget;
message($msg);
}

function dig($target){
global $ntarget;
message("<p><b>DNS Query Results:</b><blockquote>");
#$target = gethostbyaddr($target);
#if (! eregi("[a-zA-Z]", ($target = gethostbyaddr($target))) )
if( (!eregi("[a-zA-Z]", $target) && (!eregi("[a-zA-Z]", $ntarget))))
  $msg .= "Can't do a DNS query without a hostname.";
else{
  if(!eregi("[a-zA-Z]", $target)) $target = $ntarget;
  if (! $msg .= trim(nl2br(`dig any '$target'`))) #bugfix
    $msg .= "The <i>dig</i> command is not working on your system.";
  }
#TODO: Clean up output, remove ;;'s and DiG headers
$msg .= "</blockquote></p>";
message($msg);
}

function wwwhois($target){
global $ntarget;
//$server = "whois.crsnic.net";
$server = "whois.denic.de";
message("<p><b>Domain Whois Ausgabe</b><blockquote>");
#Determine which WHOIS server to use for the supplied TLD
if((eregi("\.de\$", $target)) || (eregi("\.info\$", $ntarget)))
  $server = "whois.denic.de";
elseif((eregi("\.com\$|\.net\$|\.edu\$", $target)) || (eregi("\.com\$|\.net\$|\.edu\$", $ntarget)))
  $server = "whois.crsnic.net";
else if((eregi("\.info\$", $target)) || (eregi("\.info\$", $ntarget)))
  $server = "whois.afilias.net";
else if((eregi("\.org\$", $target)) || (eregi("\.org\$", $ntarget)))
  $server = "whois.corenic.net";
else if((eregi("\.name\$", $target)) || (eregi("\.name\$", $ntarget)))
  $server = "whois.nic.name";
else if((eregi("\.biz\$", $target)) || (eregi("\.biz\$", $ntarget)))
  $server = "whois.nic.biz";
else if((eregi("\.us\$", $target)) || (eregi("\.us\$", $ntarget)))
  $server = "whois.nic.us";
else if((eregi("\.cc\$", $target)) || (eregi("\.cc\$", $ntarget)))
  $server = "whois.enicregistrar.com";
else if((eregi("\.ws\$", $target)) || (eregi("\.ws\$", $ntarget)))
  $server = "whois.nic.ws";
else{
  $msg .= "I only support .com, .de, .net, .org, .edu, .info, .name, .us, .cc, .ws, and .biz.</blockquote>";
  message($msg);
  return;
}

message("Connecting to $server...<br><br>");
if (! $sock = fsockopen($server, 43, $num, $error, 10)){
  unset($sock);
  $msg .= "Timed-out connecting to $server (port 43)";
}
else{
  fputs($sock, "$target\n");
  while (!feof($sock))
    $buffer .= fgets($sock, 10240); 
}
 fclose($sock);
 if(! eregi("Whois Server:", $buffer)){
   if(eregi("no match", $buffer))
     message("NOT FOUND: No match for $target<br> Sie können diese Domain jetzt registrieren");
   else
     message("Domain Whois für $target:<br>");
 }
 else{
   $buffer = split("\n", $buffer);
   for ($i=0; $i<sizeof($buffer); $i++){
     if (eregi("Whois Server:", $buffer[$i]))
       $buffer = $buffer[$i];
   }
   $nextServer = substr($buffer, 17, (strlen($buffer)-17));
   $nextServer = str_replace("1:Whois Server:", "", trim(rtrim($nextServer)));
   $buffer = "";
   message("Deferred to specific whois server: $nextServer...<br><br>");
   if(! $sock = fsockopen($nextServer, 43, $num, $error, 10)){
     unset($sock);
     $msg .= "Timed-out connecting to $nextServer (port 43)";
   }
   else{
     fputs($sock, "$target\n");
     while (!feof($sock))
       $buffer .= fgets($sock, 10240);
     fclose($sock);
   }
}
$msg .= nl2br($buffer);
$msg .= "</blockquote></p>";
message($msg);
}
#If the form has been posted, process the query, otherwise there's
#nothing to do yet

if(!$queryType)
  exit;

#Make sure the target appears valid

if( (!$target) || (!preg_match("/^[\w\d\.\-]+\.[\w\d]{1,4}$/i",$target)) ){ #bugfix
  message("Fehler: Bitte geben Sie eine Domain ein");
  exit;
  }

#Figure out which tasks to perform, and do them

if( ($queryType=="all") || ($queryType=="lookup") )
  lookup($target);
if( ($queryType=="all") || ($queryType=="dig") )
  dig($target);
if( ($queryType=="all") || ($queryType=="wwwhois") )
  wwwhois($target);
if( ($queryType=="all") || ($queryType=="arin") )
  arin($target);
if( ($queryType=="all") || ($queryType=="checkp") )
  checkp($target,$portNum);
if( ($queryType=="all") || ($queryType=="p") )
  p($target);
if( ($queryType=="all") || ($queryType=="tr") )
  tr($target);

?>
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Code: Alles auswählen

// Passe folgende Zeile deinen Bedürfnissen an: 
// <form method="post" action="front_content.php?idcat=7"> 
// Wußte nicht wie ich das besser lösen sollte :-)
mit folgendem:

Code: Alles auswählen

front_content.php?idcat=<?php echo $idcat; ?>
Jens*
Beiträge: 26
Registriert: Sa 6. Mär 2004, 12:42
Kontaktdaten:

Beitrag von Jens* »

thx für den Hinweis :-), nutze COntenido auch erst seit Freitag :-)
Gesperrt