lostyazilim
tr.link

İlginç bir lisanslama kodu

8 Mesajlar 3.257 Okunma
acebozum
tr.link

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)
merhaba arkadaşlar bana bir kod lazım yazabilecek arkadaş varmı?

Amaç: Warez Önlemek Ve Kontrolünü Sağlamak + WP temaları için geçerli

Kullanışı:
Biz yönetici olarak www.A-SİTESİ.com/ sitesinin sahibi olalım


başka birisi www.123-SİTESİ.com adlı site açıyor ve bizden temamızı satın alıyor

biz temayı sattığımız kişiye soruyoruz site adresiniz ne oda bize www.123-SİTESİ.com diyor

bizde bu adresi bizim sitede www.A-SİTESİ.com/lisans.txt adlı bir dosyanın içine kaydediyoruz ve adamın sitesi çalışıyor.



MANTIK YOLU
function.php dizisine bir kod ekliyoruz o kod belirlediğimiz lisans dosyası belirli bir siteden yani www.A-SİTESİ.com/ adlı siteden lisans.txt dosyayısını çekiyor ve içinde yazanları okuyor eğer . Sitede kendi adını barındırıyor ise site açılıyor





Temayı kuran kişinin sitesi yani www.123-SİTESİ.com benim sitemde yani www.A-SİTESİ.com/lisans.txt adlı yerde adamın sitesinin adresi yazıyor diye site çalışıyor ama başka biri benim temayı kuruyor örnek www.bbbbb-SİTESİ.com o sitenin adresi benim www.A-SİTESİ.com/lisans.txt adresinde kayıtlı olmadığı için site çalışmıyor.

Ek Olarak: Yardım Edebilecek kimse mi yok ne olur sizden rica ediyorum ????
 

 

wmaraci
reklam

Batuhan Batuhan Kendine webmaster Kullanıcı
  • Üyelik 08.05.2011
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad B** B**
  • Mesajlar 3455
  • Beğeniler 783 / 1009
  • Ticaret 1, (%100)
Lisanslı sitelerin bulunduğu bu .txt dosyasını internete açmak akıl karı bir çözüm değil. Bu txt dosyasını sadece sunucudan erişilebilecek şekilde yapılandırır ve araya kontrol.php adında bir katman daha koyarsanız daha güvenli olur.

Birazdan bitiririm.
 

 

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)

Batuhan adlı üyeden alıntı

Lisanslı sitelerin bulunduğu bu .txt dosyasını internete açmak akıl karı bir çözüm değil. Bu txt dosyasını sadece sunucudan erişilebilecek şekilde yapılandırır ve araya kontrol.php adında bir katman daha koyarsanız daha güvenli olur.

Birazdan bitiririm.


Çok teşekkür ederim benimki sadece bir fikir idi 4 gözle heyacanla bekliyorum
 

 

Batuhan Batuhan Kendine webmaster Kullanıcı
  • Üyelik 08.05.2011
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad B** B**
  • Mesajlar 3455
  • Beğeniler 783 / 1009
  • Ticaret 1, (%100)
Lisans sisteminin merkezi olacak sunucuya aşağıdaki gibi iki dosya oluşturuyorsunuz. Bunlardan lisanslar.txt lisanslı domainlerin bulunduğu liste, kontrol.php de bu lisansı dosyadan güvenli bir şekilde kontrol etmek için kullandığımız ara katman.

lisanslar.txt dosyasına lisanslı olmasını istediğiniz domainleri her satıra bir tane olacak şekilde yazıyorsunuz.
batuhanbensoy.com
wmaraci.com


Daha sonra kontrol.php dosyamız devreye giriyor. Bu dosyaya uzak sunucudaki temanız, kontrol.php?q=www.sitem.com şeklinde bir çağrıda bulunuyor. Bu dosya aldığı bu q parametresini listeyle karşılaştırıyor, geriye domain bulunuyorsa 1, bulunmuyorsa 0 döndürüyor.
$sorgu = $_GET['q'];

$dosya = fopen("lisanslar.txt", "r");
$sonuc = 0;

if (isset($sorgu) and $dosya)
{
$lisanslar = explode("\n", fread($dosya, filesize("lisanslar.txt")));

for ($i = 0; i < count($lisanslar); $i++)
{
if ($sorgu == $lisanslar[$i])
{
$sonuc = 1;
break;
}
}

fclose($dosya);
}

echo $sonuc;

?>




Şimdi sırada uzak sunucudaki, temadaki yada scriptteki kısım var. Bu kodu ayrı bir dosyaya değil, ana fonksiyonları yüklediğiniz bir dosyanın başına yerleştirmeniz ve tüm dosyayı kodun bypass edilebilme riskine karşı şifrelemeniz gerekiyor.

$domain = $_SERVER['SERVER_NAME'];
define("kontrolDosyasi", "http://anasite.com/lisans/kontrol.php");

$sonuc = file_get_contents(kontrolDosyasi."?q=".$domain);

if ($sonuc == 1)
{
// Tema lisanslı, temel fonksiyonları yükleyebilirsin.
}
else
{
// Tema lisansı geçerli değil
die();
}

?>



Tabii çok güvenli bir kod değil ancak temel mantığı bu şekilde.
ozibu51

kişi bu mesajı beğendi.

wmaraci
wmaraci

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)
KODUNUZ SÜPER AMA KÜÇÜK BİR HATA VAR NASIL DÜZELECEK

AŞAĞIDAKİ KOMUT DİZESİ ÇALIŞIYOR FAKAT SİTEYE GİRERKEN ALAN ADINI GÖRMEDİĞİ İÇİN SAYFAYI ÖLDÜRÜYOR YANİ SAHTE TEMA OLARAK ALGILIYOR

$domain = $_SERVER['SERVER_NAME'];
define("kontrolDosyasi", "http://anasite.com/lisans/kontrol.php");

$sonuc = file_get_contents(kontrolDosyasi."?q=".$domain);

if ($sonuc == 1)
{
// Tema lisanslı, temel fonksiyonları yükleyebilirsin.
}
else
{
// Tema lisansı geçerli değil
die();
}

?>


BÜYÜK İHTİMALLE bu kdda bir hata olabilir ama bulamadım

$sorgu = $_GET['q'];

$dosya = fopen("lisanslar.txt", "r");
$sonuc = 0;

if ($dosya)
{
while ( ($domain = fgets($dosya)) )
{
if ($sorgu == $domain)
{
$sonuc = 1;
break;
}
}
}
echo $sonuc;

?>











Batuhan adlı üyeden alıntı

Lisans sisteminin merkezi olacak sunucuya aşağıdaki gibi iki dosya oluşturuyorsunuz. Bunlardan lisanslar.txt lisanslı domainlerin bulunduğu liste, kontrol.php de bu lisansı dosyadan güvenli bir şekilde kontrol etmek için kullandığımız ara katman.

lisanslar.txt dosyasına lisanslı olmasını istediğiniz domainleri her satıra bir tane olacak şekilde yazıyorsunuz.
batuhanbensoy.com
wmaraci.com


Daha sonra kontrol.php dosyamız devreye giriyor. Bu dosyaya uzak sunucudaki temanız, kontrol.php?q=www.sitem.com şeklinde bir çağrıda bulunuyor. Bu dosya aldığı bu q parametresini listeyle karşılaştırıyor, geriye domain bulunuyorsa 1, bulunmuyorsa 0 döndürüyor.

$sorgu = $_GET['q'];

$dosya = fopen("lisanslar.txt", "r");
$sonuc = 0;

if ($dosya)
{
while ( ($domain = fgets($dosya)) )
{
if ($sorgu == $domain)
{
$sonuc = 1;
break;
}
}
}
echo $sonuc;

?>



Şimdi sırada uzak sunucudaki, temadaki yada scriptteki kısım var. Bu kodu ayrı bir dosyaya değil, ana fonksiyonları yüklediğiniz bir dosyanın başına yerleştirmeniz ve tüm dosyayı kodun bypass edilebilme riskine karşı şifrelemeniz gerekiyor.

$domain = $_SERVER['SERVER_NAME'];
define("kontrolDosyasi", "http://anasite.com/lisans/kontrol.php");

$sonuc = file_get_contents(kontrolDosyasi."?q=".$domain);

if ($sonuc == 1)
{
// Tema lisanslı, temel fonksiyonları yükleyebilirsin.
}
else
{
// Tema lisansı geçerli değil
die();
}

?>



Tabii çok güvenli bir kod değil ancak temel mantığı bu şekilde.
 

 

cgrclk cgrclk Fortis Fortuna Adiuvat Kullanıcı
  • Üyelik 18.11.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad B** Ç**
  • Mesajlar 3270
  • Beğeniler 1014 / 1983
  • Ticaret 53, (%100)
Herhangi bir server a bağımlı lisans yaparsanız txt dosyasının bulunduğu siteye bağlanılamadığı zaman tema sahiplerinin siteleri açılmaz ya da txt dosyasına ulaşım yavaşlarsa tema sahiplerinin siteleri yavaş açılır. Sonra şikayetlerin ardı arkası kesilmez ve yaptığınıza pişman olabilirsiniz.
 

 

cenktolga cenktolga Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 31.12.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek web designer
  • Konum İstanbul Anadolu
  • Ad Soyad C** Y**
  • Mesajlar 454
  • Beğeniler 89 / 85
  • Ticaret 0, (%0)

//Lisanlama
$cekilecek_text="http://www.ctylmz.com/lisans.txt" ;
if (!function_exists("file")) { die("file fonksiyonu sunucuda yüklü olmalıdır
fonction file 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,"rn");
}
if (!in_array($alanadi,$lisans)) {
die("Lisanssiz Kullanim: ".$alanadi."
Unlicensed Usage ".$alanadi); exit;
}
?>


Bu kod ile istediğini yapabilirsin.
 

 

Batuhan Batuhan Kendine webmaster Kullanıcı
  • Üyelik 08.05.2011
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad B** B**
  • Mesajlar 3455
  • Beğeniler 783 / 1009
  • Ticaret 1, (%100)

ozibu51 adlı üyeden alıntı

KODUNUZ SÜPER AMA KÜÇÜK BİR HATA VAR NASIL DÜZELECEK

AŞAĞIDAKİ KOMUT DİZESİ ÇALIŞIYOR FAKAT SİTEYE GİRERKEN ALAN ADINI GÖRMEDİĞİ İÇİN SAYFAYI ÖLDÜRÜYOR YANİ SAHTE TEMA OLARAK ALGILIYOR




Kusura bakmayın dosyayı okuturken yanlış fonksiyon kullanmışım. Son hali şu şekilde:

$sorgu = $_GET['q'];

$dosya = fopen("lisanslar.txt", "r");
$sonuc = 0;

if (isset($sorgu) and $dosya)
{
$lisanslar = explode("\n", fread($dosya, filesize("lisanslar.txt")));

for ($i = 0; i < count($lisanslar); $i++)
{
if ($sorgu == $lisanslar[$i])
{
$sonuc = 1;
break;
}
}

fclose($dosya);
}

echo $sonuc;

?>


Bu arada arkadaşın da dediği gibi anasunucuya erişimin kaybolması halinde bu kod tüm bağlı sistemlerin devre dışı kalmasına yol açar. Kodu geliştirerek yedek sunucular ekleyebilirsiniz ancak zaten bu yöntemle bile site sayısı arttıkça onaylama işlemi gecikmeye başlayacak, yedek sunucular kullanıcının tadını iyice kaçırabilir. En azından ilerleyen zamanlarda metin dosyası yerine veritabanı üzerinden işlem yapın ki dosyayı değişkene yüklerken yaşanan kaybını biraz telafi edebilsin.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al