1. Mekanizma ilk önce tema dizininde lisans.php adlı dosyanın varolup olmadığını kontrol eder.
  2. Eğer dosya yok ise Lisans Anahtarı Kaydet adlı bir sayfayı karşımıza çıkarır.
  3. Bu sayfada siteye ait olan lisans anahtarını girebileceğiniz bir input ve Kaydet butonu bulunmaktadır.
  4. Input bölümüne lisans anahtarı girdikten sonra oluşturulmamış olan lisans.php oluşturulur ve girilen lisans anahtarı $lisansanahtar değişkenine aktarılır.
  5. Daha sonra lisanslama yöntemimizle lisans.php'ye kaydedilen lisans anahtarı kontrol edilir ve eğer doğru ise fonksiyonlarımız çalışır.


Bölüm 1 : Lisans.php Kontrolü
<?php 

// EFTAL BULUT LISANS MEKANIZMASI

$lisansdosyasi = get_template_directory()."/lisans.php"; // Lisans.php dosyamız
if(!file_exists($lisansdosyasi)) { // Lisans.php dosyasının olup olmadığını kontrol ediyor yok ise aşagıdaki işlemleri yapıyor.
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Lisans Anahtarı Kaydet</title>
<div style="text-align:center;margin-top:150px;">
<form action="" method="post">
<input value="Lisans anahtarınızı buraya giriniz." onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" style="width:300px;" type="text" name="key" >
<input type="submit" name="submit" value="Kaydet">
</form>
<?
if($_POST) {
$lisansanahtari = $_POST['key']; // Formdan gelen lisans anahtarı
$lisansanahtar = wordwrap(strtoupper(md5(sha1(str_replace("www.", "", getenv("HTTP_HOST"))))),4,'-',true); // Lisans anahtarı mekanizmanız
if($lisansanahtari==$lisansanahtar) { // Formdan gelen anahtar ile şifreleme yöntemi aynı ise aşagıdaki işlemleri yapıyor
$dosyaadi = get_template_directory()."/lisans.php"; // Oluşturulacak Lisans.php dosyamız
touch ($dosyaadi); // Lisans.php dosyamız oluşturuluyor.
$dosya = fopen ($dosyaadi , 'w'); // Lisans.php dosyamız açılıyor.
$lisansdosya = '<?php $lisanskodu = "'.$lisansanahtari.'"; ?>'; // Lisans.php dosyamızın içine $lisanskodu değişkeni atanıyor.
fwrite($dosya, $lisansdosya); // Lisans.php dosyamızın içine atanan değerler yazdırılıyor.
fclose($dosya); // Lisans.php dosyamız kapanıyor.
echo "<script type='text/javascript'>window.location='". $_SERVER['REQUEST_URI'] ."'</script>"; // İşlemlerden sonra bulunan sayfaya tekrar yönleniyor.
} else {
echo "Lisans anahtarınız doğru değildir.";
}
}
echo "</div>";
die();
}
?>


Yukarıda yazmış olduğum betikte kodların yanında ne işe yaradıklarını belirttim.Bu adımı uyguladıktan sonra henüz lisans sistemimiz bitmiyor.Çünkü bu adımda sadece eğer lisans.php yok ise oluşturup içine lisans anahtarımızı kaydetmemizi sağladık.

Bölüm 2 : Lisans.php'ye Kaydedilen Lisans Anahtarı Kontrolü
 <?php 
include get_template_directory()."/lisans.php"; // Lisans.php dosyamız çağırılıyor.
$lisansanahtari = wordwrap(strtoupper(md5(sha1(str_replace("www.", "", getenv("HTTP_HOST"))))),4,'-',true); // Lisans anahtarı mekanizmanız
if($lisansanahtari==$lisanskodu) { // Lisans.phpdeki değer ile mekanizma eşit ise fonksiyonlarımı okuyor.

// FONKSIYON KODLARINIZ BURAYA

} else {
die("Lisans anahtarınız bu site için geçerli değildir.");
}
?>


Bu bölümümüzde ise önceki adımda olduğu gibi yazılan kodların ne iş gördüğünü belirttim.İlk önce oluşturulan ya da varolan lisans.php'yi dosyamızdan çağırdık ve içindeki $lisansanahtar değişkeninin okunmasını sağladık.

Daha sonra ise belirlediğimiz lisans anahtarı mekanizmamız ile lisansanahtar değişkeninin karşılaştırılmasını sağladık.Eğer 2 değişken eşleşiyor ise ;

Kodlar arasında belirttiğim // FONKSIYON KODLARINIZ BURAYA kısmında bulunan fonksiyonlar çalışmaya başlayacaktır.

Eğer eşleşmiyor ise siteyi kapatıp ekrana Lisans anahtarınız bu site için geçerli değildir. yazısını yazdıracaktır.

Bölüm 3 : Lisans Anahtarı Oluşturma
<?php 
$lisanssite = "wmarsiv.com";
$lisansanahtar = wordwrap(strtoupper(md5(sha1($lisanssite))),4,'-',true);
echo $lisansanahtar;
?>

ukarıda yazılan betiği localhost veya sitemizde açtığımızda bize sebekenet.com adresi için bir lisans anahtarı verecektir.

Lisanslayacağınız site adresini başında http://www. olmadan girerek lisanslama işlemini yapabilirsiniz.

Örnek Lisans Anahtarı:
Kod:
64F8-4A80-736A-DD53-9ADD-17A4-81AC-052A
3 Bölümde lisans mekanizmasının nasıl işlediğini , nasıl yapılacağını ve lisans anahtarı oluşturma işlemini anlattım.Az aşagıda yazmış olduğum lisans mekanizmasının ve lisans oluşturma sayfasının kaynak kodlarının indirme linkini vereceğim.

İndireceğiniz dosyanın içerisinde lisans-olustur.php ve lisans-sorgu.php dosyaları bulunmaktadır.

Lisanslama mekanizmasını çalıştırabilmek için ilk önce temanızın functions.php dosyasını açarak içindeki kodları kopyalayınız.Kopyaladığınız kodlarda <?php ve ?> taglarını silerek indirmiş olduğunuz dosyanın içerisindeki lisans-sorgu.php dosyasını açarak ; // FONKSIYON KODLARI BURAYA yazan yere kopyaladığınız kodu yapıştırın.Yapıştırdıktan sonra oradaki kodları functions.php dosyasının içine kaydediniz.

Lisans anahtarı oluşturmak için ise lisans-olustur.php dosyasını açarak $lisanssite değişkenine lisanslanacak site adresini yazarak lisans anahtarı oluşturabilirsiniz.

Bu lisans mekanizmasını sinova adlı arkadaşımızın açtığı konu sonucunda yazmış bulunuyorum.Bende yazmayı planlamıştım ancak vakit olmamıştı.Açılan konuda istekleri görünce yazma isteği uyandı.

Kodlar ve anlatım tamamen bana aittir.Sizlere yardımcı olabilmek adıyla elimden gelen en iyi şekilde kodları yazıp ve anlatmaya çalıştım.

Eftal Bulut'a teşekkürler.