• 10-06-2015, 15:23:12
    #1
    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);
    			}
  • 11-06-2015, 08:46:59
    #2
    Php kodu lisanslamak nedir arkadas ya, SaaS olarak verin o zaman. Acik kaynak kod ile gonderiyorsun adama boyle seyler yapmaya calismak sadece cocukluktur ya da cahilliktir. Sen istedigin kadar boyle seyler koy php icerisine, kaldirmak 2dk bile surmez. Kullandigin sistemin altyapisi buna uygun degil. Yaptigin yazilimda bu tarz seyler kullanmak istiyorsan farkli platformlar kullanmalisin ya da servis seklini degistirmelisin.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 08:46:59 -->-> Daha önceki mesaj 08:41:46 --

    Php kodu lisanslamak nedir arkadas ya, SaaS olarak verin o zaman. Acik kaynak kod ile gonderiyorsun adama boyle seyler yapmaya calismak sadece cocukluktur ya da cahilliktir. Sen istedigin kadar boyle seyler koy php icerisine, kaldirmak 2dk bile surmez. Kullandigin sistemin altyapisi buna uygun degil. Yaptigin yazilimda bu tarz seyler kullanmak istiyorsan farkli platformlar kullanmalisin ya da servis seklini degistirmelisin.
  • 11-06-2015, 12:44:37
    #3
    reddoc adlı üyeden alıntı: mesajı görüntüle
    Php kodu lisanslamak nedir arkadas ya, SaaS olarak verin o zaman. Acik kaynak kod ile gonderiyorsun adama boyle seyler yapmaya calismak sadece cocukluktur ya da cahilliktir. Sen istedigin kadar boyle seyler koy php icerisine, kaldirmak 2dk bile surmez. Kullandigin sistemin altyapisi buna uygun degil. Yaptigin yazilimda bu tarz seyler kullanmak istiyorsan farkli platformlar kullanmalisin ya da servis seklini degistirmelisin.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 08:46:59 -->-> Daha önceki mesaj 08:41:46 --

    Php kodu lisanslamak nedir arkadas ya, SaaS olarak verin o zaman. Acik kaynak kod ile gonderiyorsun adama boyle seyler yapmaya calismak sadece cocukluktur ya da cahilliktir. Sen istedigin kadar boyle seyler koy php icerisine, kaldirmak 2dk bile surmez. Kullandigin sistemin altyapisi buna uygun degil. Yaptigin yazilimda bu tarz seyler kullanmak istiyorsan farkli platformlar kullanmalisin ya da servis seklini degistirmelisin.
    10 defa yazmanıza gerek yok. Ben bunu şifreledim zaten orjinal kodu bu ne eksik diye paylaştım.