lostyazilim
tr.link

PHP Lisans mekanizmasındaki ufak sorunum

6 Mesajlar 876 Okunma
acebozum
tr.link

KaanGiRGiN KaanGiRGiN Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.04.2015
  • Yaş/Cinsiyet 27 / E
  • Meslek IT Expert
  • Konum Balıkesir
  • Ad Soyad K** G**
  • Mesajlar 1057
  • Beğeniler 153 / 323
  • Ticaret 15, (%93)
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);
}
 

 

wmaraci
reklam

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)
Günde bir sefer lisans kontrolü yaptırabilirsiniz
 

 

KaanGiRGiN KaanGiRGiN Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.04.2015
  • Yaş/Cinsiyet 27 / E
  • Meslek IT Expert
  • Konum Balıkesir
  • Ad Soyad K** G**
  • Mesajlar 1057
  • Beğeniler 153 / 323
  • Ticaret 15, (%93)

kelebek adlı üyeden alıntı

Günde bir sefer lisans kontrolü yaptırabilirsiniz


He anladım hocam suan lisansları çektim yani yarın lisanslar uçar.

Peki anlık yaptırmak için ne yaptırmak gerekiyor ?
 

 

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)

ASROCOMTR adlı üyeden alıntı

He anladım hocam suan lisansları çektim yani yarın lisanslar uçar.

Peki anlık yaptırmak için ne yaptırmak gerekiyor ?


Yapılabilir fakat o dosyanın sürekli açılması gerekiyor burada 2 seçenek var

1- kullanıcı sizin lisans.php yi sürekli açık tutmalı

2- Cron Job ile dosyayı çalıştırma

Şöyle birşey yapabiliriz onun için sitenin ana sayfasına lisans.php dosyasını çekersizniz her kullanıcı siteye geldiğinde dosya çalışır böylece sizde kontrol edersiniz
 

 

wmaraci
wmaraci

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)
hocam bun tavsiye etmiyorum bu koduda muhtemelen şifreleyeceksiniz şifreli dosya hızı etkiler dolayısıyla ufak tefek aksamalar olacaktır site arada sırada tekler
 

 

KaanGiRGiN KaanGiRGiN Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.04.2015
  • Yaş/Cinsiyet 27 / E
  • Meslek IT Expert
  • Konum Balıkesir
  • Ad Soyad K** G**
  • Mesajlar 1057
  • Beğeniler 153 / 323
  • Ticaret 15, (%93)
Nasıl bi sistem yapmalıyım hocam ?
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al