teste

$nic = array(
‘de’ => ‘whois.nic.de||free’,
‘at’ => ‘whois.nic.at||nothing found’,
‘com’ => ‘whois.crsnic.net||no match for’
);
// Fehlermeldung, wenn die Eingabe der Domain fehlerhaft ist
$WrongDomain = ‘Die eingegebene Domain ist fehlerhaft. Bitte überprüfen Sie Ihre Schreibweise: domain.tld’;
// Fehlermledung wenn diese TopLevel Domain nicht überprüft werden soll
$DontSellDomain = ‘Bitte entschuldigen Sie, aber wir vertreiben diese TopLevelDomain nicht. Bitte entscheiden Sie sich für eine: .de, .at oder .com Domain.’;
// Fehlermeldung wenn der Server der NIC Vergabestelle nicht erreichbar ist
$ServerNotReachable = ‘Der Server der Vergabestelle ist aktuell nicht erreichbar, bitte versuchen Sie es später noch einmal.’;
/*
* $_REQUEST[‘domain’] ist die Variable über die die Domain die überprüft werden soll übergeben wird
* strtolower() wandelt den kompletten String in Kleinbuchstaben um
* trim() entfernt Leerzeichen am Anfang und Ende des Strings
* strip_tags() entfernt HTML Tags
*
* Der geänderte und bearbeitete String wird in der Variable $domain gesichert
*
*/
$domain = strip_tags(trim(strtolower($_REQUEST[‘domain’])));

// Überprüfen das die Variable $domain nicht leer ist ansonsten wird eine Fehlermeldung ausgegeben
if( !empty($domain) ){
// Aus der $domain Variable werden die ggf. vom Nutzer mit eingegebenen http:// und www. Teile entfernt
$domain = str_replace(‘http://’, ”, $domain);
$domain = str_replace(‘www.’, ”, $domain);

// Die Domain wird anhand des Punktes in zwei Teile geteilt DomainName.TopLevel
$domain = explode(‘.’, $domain);
$domainCount = count($domain);

// Danach wird überprüft ob die Domain auch wirklich nur aus zwei Teilen besteht,
// damit z.B. keine Subdomains eingegeben werden Sub.DomainName.TopLevel
if($domainCount > 2){ die($WrongDomain); }

// Überprüfung ob die eingegebene TLD in unserem Array ($nic) enthalten ist und überprüft werden kann
if( empty($nic[$domain[1]]) ){ die($DontSellDomain); }else{
// Wenn der Array Teil für die entsprechende TLD vorhanden ist wird dieser anhand des || gesplittet
$myNic = explode(‘||’, $nic[$domain[1]]);
// $NicServer enthält die Server URL
$NicServer = $myNic[0];
// $NicFreeResponse enthält den Rückgabewert wenn die Domain frei ist
$NicFreeResponse = $myNic[1];
}

// Checken ob der entsprechende whois Server erreichbar ist und dann Verbindung aufbauen
if ( !($fp = fsockopen($NicServer, 43)) ) {
// Wenn nicht wird diese Fehlermeldung ausgegeben
die($ServerNotReachable);
}

// Dem Server den zu überprüfenden Domainnamen übergeben
fwrite($fp, $domain[0].’.’.$domain[1].”\r\n”);
$result = ”;

// Antwort vom whois Server holen
while (!feof($fp)) {
$result .= fread($fp, 1024);
}

// Verbindung zum Server wieder trennen
fclose($fp);

// Die Antwort des whois Servers mit dem Rückgabewert aus dem Array vergleichen
if( strstr($result, $NicFreeResponse) ){
// Ist der Vergleich erfolgreich, so wird die Nachricht zurückgegeben
echo ‘Die Domain ‘.$domain[0].’.’.$domain[1].’ ist noch nicht vergeben. Wir können die Domain für Sie registrieren.’;
}else{
// Ist die Domain bereits vergeben, erscheint diese Fehlermeldung
echo ‘Es tut uns leid, die Domain ‘.$domain[0].’.’.$domain[1].’ ist leider vergeben. Vielleicht möchten Sie eine andere Domain-Kombination ausprobieren?’;
}
}else{
// Fehlermeldung wenn der Inhalt der Variable $domain leer ist
echo $WrongDomain;
}
?>