Script Lisansı Nasıl yazılır? [ Php ]

script-lisansi

Merhaba arkadaşlar, kod yazan webmaster arkadaşların başına gelen bir çok olaya şahit oluyoruz. Günlerce uykusuz kalınan gecelerin ardından; ortaya projeler çıkartan coder arkadaşların, yazdığı scriptler, satın alan kişilerin duyarsız davranmaları ya da kasten yapmaları sebebi ile, piyasaya dağılıyor. Piyasaya dağılan bu scriptlere warez diyoruz. Bu tip değerli scriptleri koruma altına almak aslında çok da zor bir işlem olmasa gerek diye düşünürken, internet ortamında bazı bilgi ve belgelere ulaştım daha sonra da sizler için harmanlayarak makale haline getirdim.

Öncelikle olayın mantığı; scriptin kodları arasında tüm sayfalarda çıkan bir dosyaya sahip olmanız gerekiyor. PHP bir yazılım için header.php , footer.php , config.php gibi dosyalar ve türevleri buna en uygun dosyalardır. Include yöntemi ile bu dosyaların içine lisans.php dosyasını çekebilirsiniz. Tabiki bu kodların birileri tarafından silinmemesi için kodlarınızı encode yapmanız gerekmektedir. Bunun için en uygun encode yöntemi ioncube programı ile yapılan encode yöntemidir. Şu ana kadar çözen olamamıştır. Çözdüğünü iddaa edenler yalan söylüyorlardır. Ioncube çözülememiştir. Bu nedenle tavsiye edeceğim en iyi yöntem bu yöntemdir.

Tüm dosyalara include yöntemi ile eklediğiniz lisans.php dosyanızın bağlantı kurduğu bir lisans.txt dosyası vardır. Bu bağlantı işlemi sırasında lisans.txt dosyası dizininde bulunan domain adları lisans kullanımına izin verilen web sitelerini içerir. Bu sayede listede olmayan domainlerde script çalışmayacaktır. Örnek verecek olursak, burada lisans izni verilmeyen bir domain de çıkacak uyarıyı görebilirsiniz. Aynı mantık ile lisanslanmıştır.

Aşağıda yer alan kodlar lisans.php dosyası içerisinde yer alacak kodlardır.  Örnekde görüldüğü gibi bu kodlar sayesinde lisans.txt dosyası ile bağlantı kuruyor ve bu bağlantının sonucuna göre işlemi yürütüyor. Script için lisans izni verilmiş ise script çalışıyor verilmemiş ise burada ki gibi bir uyarı çıkıyor. Şimdi gelelim lisanslama kodlarına..

<?php

$cekilecek_text=”http://www.siteadi.com/lisans.txt”;

if (!function_exists(“file”)) { die(“<strong><a href=’http://www.php.net/file’>file</a></strong> fonksiyonu sunucuda yüklü olmalıdır<br /> fonction <strong><a href=’http://www.php.net/file’>file</a></strong> must be installed on the server”); }

function lisanskontrol() {

if (substr($_SERVER[‘HTTP_HOST’], 0, 4) == “www.”) {

$domainadi = substr($_SERVER[‘HTTP_HOST’], 4);

} else {

$domainadi = $_SERVER[‘HTTP_HOST’];

}

return $domainadi;

}

$alanadi=lisanskontrol();

$lisanstext=file($cekilecek_text,FILE_IGNORE_NEW_LINES);

$lisans=array();

foreach($lisanstext as $sayi => $cekveri) {

$lisans[$sayi]=rtrim($cekveri,”\r\n”);

}

if (!in_array($alanadi,$lisans)) {

die(“Lisanssiz Kullanim: “.$alanadi.”<br /> Unlicensed Usage “.$alanadi); exit;

}

?>

<?php
$cekilecek_text=”http://blog.aytacengin.com/medya/lisans/lisans.txt”;
if (!function_exists(“file”)) { die(“<strong><a href=’http://www.php.net/file’>file</a></strong> fonksiyonu sunucuda yüklü olmalıdır<br /> fonction <strong><a href=’http://www.php.net/file’>file</a></strong> must be installed on the server”); }
function lisanskontrol() {
if (substr($_SERVER[‘HTTP_HOST’], 0, 4) == “www.”) {
$domainadi = substr($_SERVER[‘HTTP_HOST’], 4);
} else {
$domainadi = $_SERVER[‘HTTP_HOST’];
}
return $domainadi;
}
$alanadi=lisanskontrol();
$lisanstext=file($cekilecek_text,FILE_IGNORE_NEW_LINES);
$lisans=array();
foreach($lisanstext as $sayi => $cekveri) {
$lisans[$sayi]=rtrim($cekveri,”\r\n”);
}
if (!in_array($alanadi,$lisans)) {
die(“Lisanssiz Kullanim: “.$alanadi.”<br /> Unlicensed Usage “.$alanadi); exit;
}
?>

Evet yukarıda verilen kodlar ile artık scriptinizi lisanslamış oldunuz. Makaleyi okumakta olduğunuz blog, üzerinde text seçimi pasif hale getirildiği için [ (ç)alıntı yazılara önlem ], örnek kodları buradan indirebilirsiniz.  Eğer lisansladığınız scriptileri yönetmek gibi bir derdiniz var ise bu işin daha profesyonel yapılmış halleride mevcuttur. Buradan bir örneğe bakabilirsiniz.İyi Çalışmalar Dilerim.

Kodlar: Arda Kılıçdağı (SoulSmasher) ‘dan alıntıdır.

Copyscape DMCA Copyright Detector korumasi altindadir

Yazar: Aytaç Engin

Ben, blog sahibi ve yazarı Aytaç Engin. 1985 Rize/Çayeli doğumluyum. Ayrıca, Profesyonel olarak internet ile ilgileniyor, araştırıyor, öğreniyor ve öğrendiklerimi sizlerle paylaşıyorum.

Bu yazıyı paylaş

  • facebook-share
  • tweet-it
  • friendfeed
  • plus-it

yorumlar

27 Yorum Yapıldı
  • ahmet dedi ki:

    bunu anlatmışsında kendin kaç defa kullandın.
    başka siteden kontrol yapmak tehlikelidir.

  • slyr dedi ki:

    ioncube ile şifrelemeyi nasıl yapabiliriz? kısa bir açıklama yapabilirmisin

  • güven dedi ki:

    çok iyi bir anlatım olmuş hocam, süpersin.teşekkürler.

  • mustafa dedi ki:

    hocam php de pek iyi değilimdir. ama burda mantık olarak adam if sorgusunu çekerse biz dımdızlak ortada kalmaz mıyız ?

    • Aytaç Engin dedi ki:

      txt nin yerini nerden bilecek ? Kodları görmesi gerekiyor. Söylediğin şey. Milyarda 1 olasılık bile değil..

  • resul deger dedi ki:

    Teşekürler. Anlatım güzel olmuş ancak kodlar biraz sunucuyu kasar.100k hitli bir siteyi böyle lisanslarsanız hep aynı işlemleri yaparsa işi var demektir.
    biraz daha aklımda bir iki lisanslama olayı var onu bir iki gün içinde yazıp paylaşacagım. not aldım. yazınız için teşekkürler.

    • Aytaç Engin dedi ki:

      Bizler ile paylaşır iseniz, arkadaşlar yararlanabilirler. Kendi lisanslama işlerimi ioncube ile yapıyorum. Ücretsiz şekli ise bu mantıkdadır. Geliştirilebilir.

  • caner dedi ki:

    verdiğin bilgi için çok teşekkürler. çok işime yarayacak. eline sağlık.

  • video klipler dedi ki:

    eline sağlık joomla için yazdığımız bileşene ioncube kullanarak lisanslama yapmak isityorduk ondna bir araştırmak istedim. Detaylı bir anlatım olmuş teşekkürler

  • osi dedi ki:

    Öncelikle bu akıcı yazı için çok teşekkür ederim. Sormak istediğim birkaç soru var cevaplarsanız çok sevinirim. Kullandığım altyapı rusların yapmış olduğu bir CMS ve ben bu altyapının Türkçe Destek Sitesi sahibiyim. Sürekli çeviri yapıyorum ama maalesef siteye destek olmaya kimse yanaşmıyor. Çevirilerin altına bir teşekkür bile fazla geliyor arkadaşlara sizin anlayacağınız. Ben şöyle birşey yapmak istiyorum çevirisi yaptığım altyapı için siteye link eklemedikleri zaman bir uyarı çıkartabilir mi bu şekilde? WordPress’te yapan arkadaşlar var ama kullandığımız altyapının temaları .tpl uzantılı dosyalar ve içlerinde php çalışmıyor. Umarım anlatabilmişimdir. Saygılarımla.

  • m.tufan dedi ki:

    Ustadım Ellerine gözlerine sağlık.Web Tasarım Bilgi Dağarcığım çok fazla olmasada harika diyorum.yani teşekkürler.Bizleri düşündüğün ve bizleri bu kadar öenmli konularda aydınlattığın içi Allah Razı olsun diyorum.Karşılığını nasıl ödüyecez?

  • tuva Ergun dedi ki:

    Sagolasın dostum süper bi bilgi olmuş nor aldım işime yarayacaı kesın yaptıgım calışmalarda kullanacam:..


*