/* -------- AJAX Domain Availablity Check script (Version 0.93) ------------
[
[ Created by "Ganesh" @ http://www.bootstrike.com/Webdesign/
[ AJAX Domain Availability Check by Bootstrike.Com is licensed under a Creative Commons Attribution 3.0 License.
[ Based on a work at http://www.mattjewell.com/namepros/dnlookup/.
[ Permissions beyond the scope of this license may be available at http://www.bootstrike.com/PHPAJAXDomainCheck/.
[ ***YOU MUST PLACE A LINK TO OUR SITE IN ORDER TO BE LICENCED. IF NOT, YOU ARE USING THIS SOFTWARE WITHOUT A LICENCE ILLEGALLY ***
[ ***AND THIS IS PUNISHABLE BY LAW.***
*/
/*** ORIGINAL CREDIT SCRIPT ****/
/* -------- Bulk domain availablity check script (Revision 4) ------------
[
[ Created by "Matthew." (45276) @ http://namepros.com / http://mattjewell.com
[ Feel free to modify/use however you wish,
[ but keep credit comments in upon distribution.
*/
/****************************************************
Multi Entry Domains Enquiry Max at One Time - set to -1 for unlimited.
If you set to -1, uncomment set_time_limit below to allow the script more time
****************************************************/
define ("MAX_DOMAINS_AT_ONE_TIME",3);
/****************************************************
Use automatic whois server detection. Provided by whois-servers.net.
Set to NO if prefer to use dnservers.php specified servers
****************************************************/
define ("USE_AUTO_WHOIS_SERVERS","YES");
/****************************************************
Uncomment to make unlimited script execution time - not recommended for shared hosting
****************************************************/
//set_time_limit(0);
//to prevent other domains from misusing the AJAX script
if (session_id() == '')
session_start();
if (!isset($_REQUEST['aj']))
$_SESSION['IS_FROM_SAME_DOMAIN'] = 1;
$referrerDomain = '';
if (isset($_SERVER['HTTP_REFERER']))
{
//extract referrer domain
$referrerDomain = $_SERVER['HTTP_REFERER'];
$referrerDomain = substr($referrerDomain,strpos($referrerDomain,"http://")+7);
$referrerDomain = substr($referrerDomain,0,strpos($referrerDomain,"/"));
}
include 'dnservers.php';
$error = '';
//if its a ajax call, just check and exit - bootstrike
if ((isset($_REQUEST['aj'])) && (isset($_REQUEST['domain'])))
{
ob_end_clean();
$domain = $_REQUEST['domain'];
$available = "";
if (!isset($_SESSION['IS_FROM_SAME_DOMAIN']))
{
$error = 'Please download and install this script on your server. It is FREE! (Session Mismatch)';
}
else if ((!empty($referrerDomain)) && ($referrerDomain != $_SERVER['HTTP_HOST']))
{
$error = 'Please download and install this script on your server. It is FREE! (Referrer/host mismatch)';
}
else
{
$available = isDomainAvailable($domain);
}
if (!empty($error))
$domain = '(error)';
header('Content-type: text/xml');
echo('');
?>
=$domain?>=$available?'true':'false'?>=$error?>
exit;
}
//checks if the passed domain is available, the networking stuff goes on here - bootstrike
//telnet com.whois-servers.net 43 for whoising com server
function isDomainAvailable($R6629C5988EEFCD88EA6F77A2AE672B96) { global $ext,$error; $R6629C5988EEFCD88EA6F77A2AE672B96 = trim($R6629C5988EEFCD88EA6F77A2AE672B96); if (eregi('^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$',$R6629C5988EEFCD88EA6F77A2AE672B96) != 1) { $error = 'Invalid domain (Letters, numbers and hypens only) ('.$R6629C5988EEFCD88EA6F77A2AE672B96.')'; return false; } preg_match('@^(http://www\.|http://|www\.)?([^/]+)@i', $R6629C5988EEFCD88EA6F77A2AE672B96, $R2BC3A0F3554F7C295CD3CC4A57492121); $RE035DC327C1676D83C2CA9CA79C74BCB = ''; $R6629C5988EEFCD88EA6F77A2AE672B96 = $R2BC3A0F3554F7C295CD3CC4A57492121[2]; $R37D331C368B44BDD85AF95D9FFFFD202 = explode('.', $R6629C5988EEFCD88EA6F77A2AE672B96); $R33D3EC748433467E20D0947C3032E305 = ''; if (count($R37D331C368B44BDD85AF95D9FFFFD202) == 3) { $R33D3EC748433467E20D0947C3032E305 = strtolower($R37D331C368B44BDD85AF95D9FFFFD202[1].'.'.$R37D331C368B44BDD85AF95D9FFFFD202[2]); } else if (count($R37D331C368B44BDD85AF95D9FFFFD202) == 2) { $R33D3EC748433467E20D0947C3032E305 = strtolower($R37D331C368B44BDD85AF95D9FFFFD202[1]); } else { $error = 'Invalid Domain and/or TLD server entry does not exist'; return false; } $R67E3946E265BFA9E2F2C41395AE9742C = false; if (USE_AUTO_WHOIS_SERVERS == "YES") { $R67E3946E265BFA9E2F2C41395AE9742C = true; } else { if (array_key_exists('.'.$R33D3EC748433467E20D0947C3032E305, $ext)) $R67E3946E265BFA9E2F2C41395AE9742C = true; } if(strlen($R6629C5988EEFCD88EA6F77A2AE672B96) > 0 && $R67E3946E265BFA9E2F2C41395AE9742C) { $server = ''; if (USE_AUTO_WHOIS_SERVERS == 'YES') { $RBD7EDCF7DA1CE9EA93A9B3BBD829FFBB = explode('.',$R33D3EC748433467E20D0947C3032E305); if (count($RBD7EDCF7DA1CE9EA93A9B3BBD829FFBB) > 1) $server = $RBD7EDCF7DA1CE9EA93A9B3BBD829FFBB[1].'.whois-servers.net'; else $server = $R33D3EC748433467E20D0947C3032E305.'.whois-servers.net'; $R7B8A9F2F48B874D40BD75BDD12F02557 = @gethostbyname($R33D3EC748433467E20D0947C3032E305.'.whois-servers.net'); } else { $server = $ext['.' .$R33D3EC748433467E20D0947C3032E305][0]; $R7B8A9F2F48B874D40BD75BDD12F02557 = @gethostbyname($server); } if ($R33D3EC748433467E20D0947C3032E305 == 'es') { $error = 'Error: ES not supported. They don\'t have a public whois server :('; return false; } if ($R33D3EC748433467E20D0947C3032E305 == 'au') { $server = $ext['.com.au'][0]; $R7B8A9F2F48B874D40BD75BDD12F02557 = @gethostbyname($server); } if ($R7B8A9F2F48B874D40BD75BDD12F02557 == $server) { $error = 'Error: Invalid extension - '.$R33D3EC748433467E20D0947C3032E305.'. Or server has outgoing connections blocked to '.$server.'.'; return false; } $RAD10634E7F72CAA071320F21AEE5930D = @fsockopen($server, 43,$R32D00070D4FFBCCE2FC669BBA812D4C2,$RE5840D3E86DCF8489051E4F70C757552,10); if ($R32D00070D4FFBCCE2FC669BBA812D4C2 == '10060') { $error = 'Error: Invalid extension - '.$R33D3EC748433467E20D0947C3032E305.' (or whois server is down)'; return false; } if (!$RAD10634E7F72CAA071320F21AEE5930D || ($RE5840D3E86DCF8489051E4F70C757552 != '')) { $error = 'Error: ('.$server.') '.$RE5840D3E86DCF8489051E4F70C757552.' ('.$R32D00070D4FFBCCE2FC669BBA812D4C2.')'; return false; } fputs($RAD10634E7F72CAA071320F21AEE5930D, "$R6629C5988EEFCD88EA6F77A2AE672B96\r\n"); while( !feof($RAD10634E7F72CAA071320F21AEE5930D) ) { $RE035DC327C1676D83C2CA9CA79C74BCB .= fgets($RAD10634E7F72CAA071320F21AEE5930D,128); } fclose($RAD10634E7F72CAA071320F21AEE5930D); if($R33D3EC748433467E20D0947C3032E305 == 'org') nl2br($RE035DC327C1676D83C2CA9CA79C74BCB); if (USE_AUTO_WHOIS_SERVERS == 'YES') { if ( (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'No match for') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'NOT Found') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'NOT FOUND') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'Not found: ') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,"No Found\n") !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'NOMATCH') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,"AVAIL\n") !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'No entries found') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'NO MATCH') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'No such Domain') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'is free') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'FREE') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'No data Found') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'No Data Found') !== false) || ($RE035DC327C1676D83C2CA9CA79C74BCB == "Available\n") || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'No information about') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'no matching record') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'does not Exist in database') !== false) || (strpos($RE035DC327C1676D83C2CA9CA79C74BCB,'not a registered domain') !== false) ) { return true; } return false; } else { if ((strpos($R33D3EC748433467E20D0947C3032E305,'.au') > 0) && ($RE035DC327C1676D83C2CA9CA79C74BCB == "Not Available\n")) { return false; } if(eregi($ext['.' . $R33D3EC748433467E20D0947C3032E305][1], $RE035DC327C1676D83C2CA9CA79C74BCB)) { return true; } else { return false; } } } else { $error = 'Invalid Domain and/or TLD server entry does not exist'; } return false; }
?>