Merhabalar,

modülüm için php lisans mekanizması oluşturuyorum

Dosya ilkte lisans istiyor sorun yok.
lisans.php den domaini uzaktan lisanslıyorum ondada sorun yok
fakat lisans bloke edemiyorum

Mekanizma kodu;


function check_wmtslicense($licensekey, $localkey = "") {
	$whmcsurl = "http://www.sunucudestek.xyz/";
	$licensing_secret_key = "estafil0c0c0";
	$check_token = time() . md5(mt_rand(1000000000, 9999999999.000000) . $licensekey);
	$checkdate = date("Ymd");
	$usersip = isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"] : $_SERVER["LOCAL_ADDR"];
	$localkeydays = 30;
	$allowcheckfaildays = 5;
	$localkeyvalid = false;
	if ($localkey) {
		$localkey = str_replace("\n", "", $localkey);
		$localdata = substr($localkey, 0, strlen($localkey) - 32);
		$md5hash = substr($localkey, strlen($localkey) - 32);
		if ($md5hash == md5($localdata . $licensing_secret_key)) {
			$localdata = strrev($localdata);
			$md5hash = substr($localdata, 0, 32);
			$localdata = substr($localdata, 32);
			$localdata = base64_decode($localdata);
			$localkeyresults = unserialize($localdata);
			$originalcheckdate = $localkeyresults["checkdate"];
			if ($md5hash == md5($originalcheckdate . $licensing_secret_key)) {
				$localexpiry = date("Ymd", mktime(0, 0, 0, date("m"), date("d") - $localkeydays, date("Y")));
				if ($localexpiry < $originalcheckdate) {
					$localkeyvalid = true;
					$results = $localkeyresults;
					$validdomains = explode(",", $results["validdomain"]);
					if (!(in_array($_SERVER["SERVER_NAME"], $validdomains))) {
						$localkeyvalid = false;
						$localkeyresults["status"] = "Invalid";
						$results = array();
					}
					$validips = explode(",", $results["validip"]);
					if (!(in_array($usersip, $validips))) {
						$localkeyvalid = false;
						$localkeyresults["status"] = "Invalid";
						$results = array();
					}
					if ($results["validdirectory"] != dirname(__FILE__)) {
						$localkeyvalid = false;
						$localkeyresults["status"] = "Invalid";
						$results = array();
					}
				}
			}
		}
	}
	if (!$localkeyvalid) {
		$postfields["licensekey"] = $licensekey;
		$postfields["domain"] = $_SERVER["SERVER_NAME"];
		$postfields["ip"] = $usersip;
		$postfields["dir"] = dirname(__FILE__);
		if ($check_token) {
			$postfields["check_token"] = $check_token;
		}
		if (function_exists("curl_exec")) {
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $whmcsurl . "modules/lisans.php");
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
			curl_setopt($ch, CURLOPT_TIMEOUT, 30);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			$data = curl_exec($ch);
			curl_close($ch);
		}
		else {
			$fp = fsockopen($whmcsurl, 80, $errno, $errstr, 5);
			if ($fp) {
				$querystring = "";
				foreach ($postfields as $k => $v) {
					$querystring .= $k . "=" . urlencode($v) . "&";
				}
				$header = "POST " . $whmcsurl . "modules/lisans.php HTTP/1.0\r\n";
				$header .= "Host: " . $whmcsurl . "\r\n";
				$header .= "Content-type: application/x-www-form-urlencoded\r\n";
				$header .= "Content-length: " . @strlen($querystring) . "\r\n";
				$header .= "Connection: close\r\n\r\n";
				$header .= $querystring;
				$data = "";
				@stream_set_timeout($fp, 20);
				@fputs($fp, $header);
				$status = @socket_get_status($fp);
				while (!(@feof($fp)) && $status) {
					$data .= @fgets($fp, 1024);
					$status = @socket_get_status($fp);
					continue;
				}
				@fclose($fp);
			}