wmaraci reklam

PHP Lisans mekanizmasındaki ufak sorunum

6 Mesajlar 697 Okunma
pst.net
wmaraci reklam

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 31 / 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 31 / 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
Mersin evden eve nakliyat

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 ?
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al