Einfacher Domain Whois
Verfasst: Mo 8. Mär 2004, 09:42
Hier ein einfacher Domain Whois.
Weitere TLD's können einfach hinzugefügt werden!
z.B unter
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
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";
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>
</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);
?>