Php İle Lisanslama Fonksiyonu
Arkadaşlar size kendi geliştirdiğim basit bir PHP Script lisanslama mekanizması anlatacağım. Kendi basit scriptlerimde de kulalndığım bu mekanizma ile bir dosyayı sadece bir kez şifreleyerek herkese dağıtabilecek/istemediklerinize lisanssız kullanımı engelleyecek konuma getirebilirsiniz…
Şifrelemek için size önerim ioncube encoder ın web versiyonudur. Bugüne Kadar Kırılamadı, ayrıca web şifrelemesi sayesinde yazılımı satın almadan düşük bir masraf ile (1 dolar bile değil 50 sent kadarcık ) scriptinizi herkes için lisanslayabilirsiniz. (dipnot: şifrelenen dosya ftp den binary (ikilik) gönderme seçeneği seçilerek yollanmalıdır)
Nasıl Oluyor?
Bunun ana mantığı basit. Uptime ı yüksek güvenli bir sunucuya (tavsiyem googlepages )bir text dosyası atacaksınız, o text dosyasında da satır satır lisanslanmış site adresleri olacak, scriptinize ekleyeceğiniz basit bir kod ile o satırları okutup alan adının o dizi içerisinde olup olmadığını kontrol ettirtecek, değilse de lisanssız kullanım ile scxript çalışmasını engelleyeceksiniz
Gelelim Kodlamaya
ilk önce bir text dosyası oluşturmalısınız: bu text dosyasında scripti lisansladığınız/yani kullanılmasına izin verdiğiniz alan adlarının listesi olmalı, ama sadece siteadi.com şeklinde
örnek text dosyası:
1 2 3 4 5 6 |
siteadi.com foobar.com soulsmasher.net soulsmasher.com soulsmasher.org phpfusion-tr.com |
gibi
şimdi ise bir php dosyası hazırlıyoruz, işin sırrı burada aslında bu php dosyası scriptinizde her sayfaya require yada include edilmelidir. size önerim her sayfada çağrılan bir dosya (mesela config.php gibi) bir dosyaya yüklemenizdir.
</div> <div class="wp_syntax"><?php //PHP Lisanslama Scripti 1.0 //Kodlama: Arda Kılıçdağı (SoulSmasher) ©2008 //http://www.soulsmasher.net /*----------------------------------------------------------------- | This program is released as free software under the | Affero GPL license. You can redistribute it and/or | modify it under the terms of this license which you | can read by viewing the included agpl.txt or online | at <a href="http://www.gnu.org/licenses/agpl.html">www.gnu.org/licenses/agpl.html</a>. Removal of this | copyright header is strictly prohibited without | written permission from the original author(s). +----------------------------------------------------------------*/ //Eğer bu scripti kullandıysanız en azından bana düşüncelerinizi bildirmeniz beni gerçekten memnun edecektir :) //AYARLAR KISMI $cekilecek_text="<a href="http://www.site.com/cekilecek_text_dosyasi.txt">http://www.site.com/cekilecek_text_dosyasi.txt</a>"; //bir sunucuya yüklediğiniz lisanslanmasına izin veridğiniz alan adlarının olduğu text dosyası, tavsiyem googlepages.com gibi 24 saat açık olmasına güvenilir bir sunucuya yüklemenizdir //AYARLAR KISMI BİTTİ //NE YAPTIĞINIZI BİLMİYORSANIZ AŞAĞISINA DOKANMAYIN 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"); } //file fonksiyonu yüklü değilse lisans scripti çalışmaz :) function soullisanskontrol() { if (substr($_SERVER['HTTP_HOST'], 0, 4) == "www.") { //alan adı değişkeni bazı sunucularda www ile başlıyor bazılarında www. suz ondan böyle bir değişkene ihtiyac var $domainadi = substr($_SERVER['HTTP_HOST'], 4); } else { $domainadi = $_SERVER['HTTP_HOST']; } return $domainadi; } $alanadi=soullisanskontrol();//yormasın her seferinde 1 kez buffera alalım yeter $lisanstext=file($cekilecek_text,FILE_IGNORE_NEW_LINES); //yüklediğiniz text dosyasının adresi $lisans=array();//boş dizi oluşturduk önce yeni oluşacak kontrol dizisi için foreach($lisanstext as $sayi => $cekveri) { $lisans[$sayi]=rtrim($cekveri,"\r\n"); //bazen windows tabanlı metin editörlerinde yazılan metinler ve linux üzerindeki editörelerde yazılan metinlerinm sonundaki yeni satıra geçme kodları aynı olamayabiliyor. bu sebeple işi sağlama alıp onların temizlendiği yeni bir dizi oluşturuyoruzs } if (!in_array($alanadi,$lisans)) { die("Lisanssız Kullanım: ".$alanadi."<br /> Unlicensed Usage ".$alanadi); exit; //alan adı bizim dizimizde yoksa die() fonksiyonu ile siteyi kilitliyor, buraya kendi fonksiyonunuzu/nasıl çalışacağını yazabilirsiniz } ?>
bunu gömdüğünüz dosyayı da ioncube ile şifrelerseniz artık scriptiniz lisanslanmaya hazır
kolay gelsin
Tesekkur ederim guzel bi yazi olmus.