lostyazilim
tr.link

Lisans Sistemi Nasıl Yaparım ?

5 Mesajlar 1.701 Okunma
tr.link

MRAZE94 MRAZE94 WM Aracı Kullanıcı
  • Üyelik 02.08.2020
  • Yaş/Cinsiyet 30 / E
  • Meslek acemi web tasarımcı
  • Konum Azerbeycan
  • Ad Soyad M** K**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Merhabalar konumu okuyan değerli kullanıcılar sorum olucak ben lisans sistemi kafamda kurdum ama bunu nasıl tam istediğim kimi yapayım düşüncelerimi hemen bi alta dökeyim.

şimde index.php page.php ve.s yani scriptimiz dosyasına bi dosya eklicez bu dosyaya bu kodları yazıcaz

if (substr($_SERVER['HTTP_HOST'], 0, 4) == "www.") {
$www = "www."; //sonradan ekledim
$domainadi = $_SERVER['HTTP_HOST'];
} else {
$www = ""; //sonradan ekledim
$domainadi = $_SERVER['HTTP_HOST'];
}

$site = $www."domainadi.com";
$site = ".ddns.net";

if($domainadi!==$site){//mevcut domainle lisanslı domaini aynı mı ?.
echo "NOT FOUND LICENSE: ".$domainadi."

Contact Author Telegram : http://t.me/D4NTH3 , http://t.me/MRAZE94


Unlicensed Usage :".$domainadi."

";

exit;//
}


bu üsteki kodlar dedim gibi scriptimize include edicez normalde mesela bu kodları license diyip include ede bilirim ama ben istiyorumki uzaktan bu lisans dosyasını yüklüyüm ve oraya istediğim zaman domain ekliyim çıkratıyım ve.s yani tam olarak şu üstekki kodları bir siteye yüklüyorum license.php diye bunları scriptime uzak siteden çağırmak istiyorm fakat direk url link include olmuyor şimdi bunun include olması için 2 yöntem var 1ci- php.inide allow_url_include bulmak ve etkinleşdirmek ki ben bunu yapmak istemiyorum çünkü scripti satıcam ve herkez girip php.ini de bulup açmıyıcaktır yani lisansda çalışmıyıcak 2 ci olay ise file_get_contents('http://domainname.com/menu.php'); bu filegetcontents buda olmadı ben ne yapa bilirimki o dosyanın içindeki kodları uzaktan çekiyim uzaktan çekmemin sebebi uzaktaki dosyaya domain ekliye biliyorum.Başka yöntem yokmudur o kodları çekmek için bu sistem olursa ioncube ile şifreleyeceğim zaten şimdi o kodları nasil çekicem başka yöntemi olanlarda eklesin
 

 

wmaraci
reklam

forces forces WM Aracı Kullanıcı
  • Üyelik 23.01.2016
  • Yaş/Cinsiyet 45 / E
  • Meslek bilgisayar mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad M** E**
  • Mesajlar 1366
  • Beğeniler 9 / 379
  • Ticaret 0, (%0)
ilk kontrol kısmı harddisk ıd sinin kontrolü

if(strtoupper(PHP_OS) == strtoupper("LINUX"))
{
$ds=shell_exec('udevadm info --query=all --name=/dev/sda | grep ID_SERIAL_SHORT');
$serialx = explode("=", $ds);
$serial = $serialx[1];
}
else
{
function GetVolumeLabel($drive) {
if (preg_match('#Volume Serial Number is (.*)\n#i', shell_exec('dir '.$drive.':'), $m)) {
$volname = ' ('.$m[1].')'; } else { $volname = ''; }
return $volname;
}
$serial = str_replace("(","",str_replace(")","",GetVolumeLabel("c")));
}



Client Side (app folder) app klasörü oluşturulacak

index.php dosyası oluşturup içerisine aşağıdaki kodu yapıştıralım


kullanıcı index.php dosyasını çağırdığında sistem lisans dosyasının olup olmadığını kontrol edecek var ise sistem çalışacak yok ise aktivasyon sayfasına gidecek .

Index Page


Welcome to web application


Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


-------------------------------------------------
activator.html dosyası oluşturup içerisine aşağıdaki kodu yapıştıralım

Activator



Please activate your application before use




* Please be sure you re connected to the Internet

















-------------------------------

şimdi de c_activator.php dosyası oluşturup aşağıdaki kodu yapıştıralım

if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) )
{
$method=$_POST['method'];
if($method == 'online')
{
$nama=$_POST['nama'];
$password=$_POST['password'];
if(strtoupper(PHP_OS) == strtoupper("LINUX"))
{
$ds=shell_exec('udevadm info --query=all --name=/dev/sda | grep ID_SERIAL_SHORT');
$serialx = explode("=", $ds);
$serial = $serialx[1];
}
else
{
function GetVolumeLabel($drive) {
if (preg_match('#Volume Serial Number is (.*)\n#i', shell_exec('dir '.$drive.':'), $m)) {
$volname = ' ('.$m[1].')';
} else {
$volname = '';
}
return $volname;
}
$serial = str_replace("(","",str_replace(")","",GetVolumeLabel("c")));
}
$url=$_POST['url'];
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url.'/index.php?nama='.$nama.'&password='.$password.'&serial='.trim($serial));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$output=curl_exec($ch);

curl_close($ch);

$array= array();
if($output == 'error')
{
$array['value'] = false;

}else
{
$content='empty';
$fp = fopen($output.'.key',"wb");
fwrite($fp,$content);
fclose($fp);
$array['value'] = true;
}
echo json_encode($array);
}

} else {
exit('No direct access allowed.');
}
-------------------------------

sistem curl komutu ile lisans dosyasına erişmeye çalışacak .

lisans dosyasını sunucudan aldıktan sonra .key uzantısında bir dosya oluşturacak .

örneğin ;




------------------------------

şimdi sunucu tarafında gerekli düzenlemeleri yapacağız

webkey adında bir klasör oluşturuyoruz

ardından içerisinde index.php oluşturup aşağıdaki kodları kullanıyoruz

$secret_key = ‘secret’;
$nama = trim($_GET[‘nama’]);
$password = trim($_GET[‘password’]);
$serial = trim($_GET[‘serial’]);
if(!isset($_GET[‘nama’]) OR !isset($_GET[‘nama’]) OR !isset($_GET[‘serial’]) )
{
$licensi = ‘error’;
}
else
{
if($nama == ‘username’)
{
if($password == ‘password’)
{
$as = true;
}else{
$as = false;
}
}
else
{
$as = false;
}
if($as == true)
{
$licensi = md5($nama.$password.$serial.$secret_key);
}
else
{
$licensi = ‘error’;
}
}
echo $licensi;
?>


yukarıdaki kod ile

- sunucu clientten gelen lisans talebini alacak

- parametreler uygun mu değil mi kontrol edecek
-lisans parametresini cliente gönderecek
-eğer lisans kodu doğru ise client üzerinde .key uzantılı dosya oluşturacak .
-değilse hata verecek lisanslama yapmayacak
 

 

forces forces WM Aracı Kullanıcı
  • Üyelik 23.01.2016
  • Yaş/Cinsiyet 45 / E
  • Meslek bilgisayar mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad M** E**
  • Mesajlar 1366
  • Beğeniler 9 / 379
  • Ticaret 0, (%0)
Eğer wordpress için oluşturmak isterseniz aşağıdaki makale faydalı olabilir

https://code.tutsplus.com/tutorials/create-a-license-controlled-update-system-the-license-manager-api--cms-22674
 

 

101222 101222 WM Aracı Anonim Üyelik
  • Üyelik 22.01.2019
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 257
  • Beğeniler 68 / 43
  • Ticaret 0, (%0)
Ben bu lisans işini şöyle yapıyorum lisanslarin kontrol edileceği sunucuda api yazıyorum. Client üzerinden api ye domaim bilgisini ve lisans anahtarını gonderiyorum api yanitina göre de işlemler yapıyorum bu sorgulamayi oluşturduğum middleware de yapıyorum ve bu dosya şifreleniyor config dosyasına lisans anahtarini giriyor middlewareden bu anahtari cekip, ve domain bilgisini sifrenlenmis dosya üzerinden gerçekleştirdiğim için manüplasyon yapılmasını da binevi engellemiş oluyorum fikir açısından uygulayabilirsin istersen bu senaryoyu
 

 

wmaraci
wmaraci

MRAZE94 MRAZE94 WM Aracı Kullanıcı
  • Üyelik 02.08.2020
  • Yaş/Cinsiyet 30 / E
  • Meslek acemi web tasarımcı
  • Konum Azerbeycan
  • Ad Soyad M** K**
  • Mesajlar 5
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)


hayır phishing yaptım orda uyguluyorum adam bilgileri yazıyor maile yollanıyor da üstte attınız kodlar çok uzun ya bana kısa yoldan lazm lisans scripti denicem internetteki bakalım olacakmıedır