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