Script PHP Untuk Deteksi Umur Domain

Script PHP Untuk Deteksi Umur Domain

Script PHP Untuk Deteksi Umur Domain – Berdasarkan penelitian-penelitian sebelumnya, Script PHP Untuk Deteksi Umur Domain ini dapat digunakan sebagai pondasi dalam pembuatan sebuah tools atau website checker seperti sites price, web rank, phishing website detector dan sebagainya. Script PHP ini sudah teruji keakuratannya, karena script PHP ini mengambil API (Application Programming Interface) umur domain langsung dari WHOIS dan di bawah ini adalah Script PHP Untuk Deteksi Umur Domain yang dimaksud :

class DomainAge{
	private $WHOIS_SERVERS = array(
	"com"		=>  array("whois.verisign-grs.com","/Creation Date:(.*)/"),
	"net"   	=>  array("whois.verisign-grs.com","/Creation Date:(.*)/"),
	"org"   	=>  array("whois.pir.org","/Created On:(.*)/"),
	"info"  	=>  array("whois.afilias.info","/Created On:(.*)/"),
	"biz"   	=>  array("whois.neulevel.biz","/Domain Registration Date:(.*)/"),
	"us"    	=>  array("whois.nic.us","/Domain Registration Date:(.*)/"),
	"uk"    	=>  array("whois.nic.uk","/Registered on:(.*)/"),
	"ca"    	=>  array("whois.cira.ca","/Creation date:(.*)/"),
	"tel"   	=>  array("whois.nic.tel","/Domain Registration Date:(.*)/"),
	"ie"    	=>  array("whois.iedr.ie","/registration:(.*)/"),
	"it"    	=>  array("whois.nic.it","/Created:(.*)/"),
	"cc"    	=>  array("whois.nic.cc","/Creation Date:(.*)/"),
	"ws"    	=>  array("whois.nic.ws","/Domain Created:(.*)/"),
	"sc"    	=>  array("whois2.afilias-grs.net","/Created On:(.*)/"),
	"mobi"  	=>  array("whois.dotmobiregistry.net","/Created On:(.*)/"),
	"pro"   	=>  array("whois.registrypro.pro","/Created On:(.*)/"),
	"edu"   	=>  array("whois.educause.net","/Domain record activated:(.*)/"),
	"tv"    	=>  array("whois.nic.tv","/Creation Date:(.*)/"),
	"travel"	=>  array("whois.nic.travel","/Domain Registration Date:(.*)/"),
	"in"        =>  array("whois.inregistry.net","/Created On:(.*)/"),
	"me"        =>  array("whois.nic.me","/Domain Create Date:(.*)/"),
	"cn"        =>  array("whois.cnnic.cn","/Registration Date:(.*)/"),
	"asia"      =>  array("whois.nic.asia","/Domain Create Date:(.*)/"),
	"ro"        =>  array("whois.rotld.ro","/Registered On:(.*)/"),
	"aero"      =>  array("whois.aero","/Created On:(.*)/"),
	"nu"        =>  array("whois.nic.nu","/created:(.*)/"));
	
public function age($domain) {
	$domain = trim($domain);
	if(substr(strtolower($domain), 0, 7) == "http://") $domain = substr($domain, 7);
	if(substr(strtolower($domain), 0, 4) == "www.") $domain = substr($domain, 4);
	if(preg_match("/^([-a-z0-9]{2,100}).([a-z.]{2,8})$/i",$domain)) {
		$domain_parts = explode(".", $domain);
		$tld = strtolower(array_pop($domain_parts));
		if(!$server = $this->WHOIS_SERVERS[$tld][0]) {
			return false;
		}
	$res = $this->queryWhois($server,$domain);
	if(preg_match($this->WHOIS_SERVERS[$tld][1],$res,$match)) {
		date_default_timezone_set('UTC');
		$time = time() - strtotime($match[1]);
		$years = floor($time / 31556926);
		$days = floor(($time % 31556926) / 86400);
		if($years == "1") {
			$y = "1 year";
		} else {
			$y = $years . " years";
		}
		if($days == "1") {
			$d = "1 day";
		} else {
			$d = $days . " days";
		}
		return "$y, $d";
	} else
		return false;
	} else 
		return false;
}
 
private function queryWhois($server,$domain) {
	$fp = @fsockopen($server, 43, $errno, $errstr, 20) or die("Socket Error " . $errno . " - " . $errstr);
	if($server == "whois.verisign-grs.com")
	$domain = "=".$domain;
	fputs($fp, $domain . "rn");
	$out = "";
	while(!feof($fp)){
		$out .= fgets($fp);
	}
	fclose($fp);
	return $out;
	}
}

$umur = new DomainAge();
echo $umur->age("http://vebryexap.com");

 

Leave a Reply