• 29-03-2022, 01:21:41
    #10
    http://localhost/lisans/kontrol.php?site=


    Siteye erişim kesildi. Bu durumda bu lisansla çalışan tüm siteler hata verir. Mantıksız bir kodlama olmuş ...
  • 29-03-2022, 01:31:28
    #11
    AKSOYOGLU adlı üyeden alıntı: mesajı görüntüle
    Proje için lisans sistemi hazırlamak istiyorum. Mantığı araştırırken, İnternette bir lisans sistemi buldum.

    "Çalışma prensibi 24 saatte bir istemci üzerindeki "lisans.php" dosyası içerisine otomatik bir lisans oluşturuyor. 24 saat sonra oluşturulan yeni lisans, önceden oluşturulmuş lisansla karşılaştırılıyor. Eşleşme olmadığında lisans sunucusuna bağlanıp, domain kontrolü sağlıyor. İlgili domain varsa oluşturulan yeni lisans tekrar "lisans.php" dosyası üzerine yazılıyor."

    Mantık güzel ancak anlamadığım, aşağıdaki kodlar içerisinde 24 saatte bir yeni lisans oluşturuluyor ve karşılaştırılır denilmiş. 24 saat içerisinde yeni lisans oluşturulup, sorgulandığı kodun tam olarak neresinde yer alıyor, işlem süresi hakkında bir kod göremedim. Ben de mi bir sorun var

    INDEX PHP
    
    <?php
    require('lisans.php');//lisans.php dosyasini ekle
    $lisans['site']=getenv('HTTP_HOST');//site domainini al
    if (substr($lisans['site'], 0, 4) == "www.")//domain basindaki www. varmi yokmu kontrol et
    $lisans['site']=substr($lisans['site'],4);//www. sil ve sadece domain.com olarak adresi al
    
    $bas = "RIBIKU-";//Lisans kodu başına istediğiniz yazı eklenebilir
    $son = "-2015";//Lisans kodu sonuna istediğiniz yazı eklenebilir
    $m = "md5";//md5 sifreleme
    $s = "sha1";//sha1 sifreleme
    
    
    $lisans['hash']=wordwrap(strtoupper($s ($s ($s ($s ($m ($s ($s ($m ($lisans['site'].date('Ymd')))))))))),5,'-',true);//lisans kodunu olustur ve 5 karakterde bir - koy
    $liskod = $lisans['hash'];
    $cevir=strrev($liskod);//lisans kodunu tersine cevir
    $bcs = "$bas$cevir$son";
    
    if($bcs!==$lisanskodu)//lisans kodunu kontrol et fark varsa sunucuya baglan - 24 saatte bir lisans kodu degisir
    {
    $lisans_cevap=file_get_contents('http://localhost/lisans/kontrol.php?site='.$lisans['site']);//lisans sunucusundan lisans kontrolu yap
    if($lisans_cevap!='LISANSLI')//sunucudan gelen cevap LISANSLI degilse
    
    die('Bu siteye ait lisans bulunamadi!!!');//lisans gecersiz mesaji verilir islem durur
    
    $lyaz = fopen('lisans.php',"w+");//lisans.php dosyasini ac yeni lisans kodunu yaz bu dosya yazılabilir olmalıdır
    @fwrite($lyaz,'<?php
    /**
        Php Lisans Sistemi
        Copyright (C) 2015  example.com
        admin@example.com
        www.example .com
        
        Bu dosyaya herhangi bir lisans kodu yazmaniz gerekmez
        Almis oldugunuz urune ait lisans sistemde aktif oldugunda
        Lisans kodunuz otomatik olarak girilecektir.
        
        Yeni lisans almak icin www.example.com adresini ziyaret edebilirsiniz
    
     */
    $lisanskodu="'.$bcs.'";
    ?>');
    fclose($lyaz);
    }
    echo "$bcs";//geçerli lisans işleme devam
    ?>
    <?php
            /**
                Php Lisans Sistemi
                Copyright (C) 2015
                admin@example.com
                www.example.com
                
                Bu dosyaya herhangi bir lisans kodu yazmaniz gerekmez
                Almis oldugunuz urune ait lisans sistemde aktif oldugunda
                Lisans kodunuz otomatik olarak girilecektir.
                
                Yeni lisans almak icin www.example.com adresini ziyaret edebilirsiniz
    
             */
            $lisanskodu="RIBIKU-7FC3D-0082F-46EAD-D7B0A-8CD12-771D9-453CA-E90FA-2015";
            ?>
    <?php
    /*
    kontrol.php dosyası sizin sitenizde olacaktır izinli domainler bu dosyaya eklenecek.
    Bu listeden silinen sitelerin çalışması günlük lisansın değişeceği saat 00:00 da sona erecektir.
    Bu listeden lisansı silinen site gece saat 00:00 olana kadar sorunsuz çalışacaktır.
    */
    $lisansli_siteler=array('example.com',
                            'localhost',
                            'site1.com',
                            'site2.com',
                            'site3.com');
    if(in_array(urldecode($_GET['site']),$lisansli_siteler))
    echo 'LISANSLI';
    else
    echo 'IZINSIZ KULLANIM';
    ?>
    OETeknoloji adlı üyeden alıntı: mesajı görüntüle
    $lisans['hash']=wordwrap(strtoupper($s ($s ($s ($s ($m ($s ($s ($m ($lisans['site'].date('Ymd')))))))))),5,'-',true);//lisans kodunu olustur ve 5 karakterde bir - koy
    burada hash olustururken o gunun tarihi ile olusturuyor haliyle bir sonraki gun hash degisiyor. bunu anlatmaya calismis.
    Arkadaşın dediği gibi değişkenler ile $bcs ye atamış zaten belirtmiş baş değişkenine istediğini yaz kodun başlangıcı o olsun son kısmına istediğini yaz sonu o olsun ortayı ben tarihle oluşturup tersine çevirdim demiş



    [COLOR=#515365][FONT=consolas]$lisans['hash']=wordwrap(strtoupper($s ($s ($s ($s ($m ($s ($s ($m ($lisans['site'].date('Ymd')))))))))),5,'-',true);//lisans kodunu olustur ve 5 karakterde bir - koy[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]$liskod = $lisans['hash'];[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]$cevir=strrev($liskod);//lisans kodunu tersine cevir[/FONT][/COLOR]
    [COLOR=#515365][FONT=consolas]$bcs = "$bas$cevir$son";[/FONT][/COLOR]
  • 29-03-2022, 01:42:46
    #12
    Alıntı
    $lisans['hash']=wordwrap(strtoupper($s ($s ($s ($s ($m ($s ($s ($m ($lisans['site'].date('Ymd')))))))))),5,'-',true);//lisans kodunu olustur ve 5 karakterde bir - koy
    siz sayfayı her açtığınızda yukarıdaki kod bir değer oluşturuyor. bu değeri bilgisayarınızdaki kayıtlı dosya ile karşılaştırıyor
    EĞER oluşturulan değer dosyadaki lisans kodundan farklı ise o zaman siteye bağlanıyor.

    anlış oluşturulan kodda DATE("YDM)" değerinden faydalandığı için anlık oluşturulan kod 24 saatte bir değişeceği için gün sonunda (00.00 dan sonra) sayfayı çağırdığınızda yeni oluşturulan değer kayıtlı değerden farklı olduğu için sunucudan site kontrolü yapıyor

    eğer sunucuda site adresiniz kayıtlı ise yeni oluşturduğunuz bcs kodunu lisans kodu olarak kaydediyor.
  • 29-03-2022, 16:18:55
    #13
    Hiçbir mantığı yok aslında. Tüm lisanslama yöntemleri aynıdır. Ürün içerisinden ürünün lisanslamayı içeren bölüm ya da bölümlerindeki boolean'ları ters çevirerek ya da ilgili bölüm ya da bölümler silinerek lisanslama aşılır. Yok 24 saatte yaratmış, yok bilmem ne şifreleme yapılmış.

    Her türlü PHP şifreleme yöntemi çözülür, her türlü lisanslama kaldırılır. Bu işin kaderinde var.

    Bu sebeple en basit mantıkta bir lisanslama ile giriş seviyesi de olsa bir koruma sağlamanız yeterli.