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