Kaynak Kod Güvenliği

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek

    Kaynak kodun kullanılmasını engellemek için bir yöntem arıyorum.
    Müşteriye kaynak kodu vermediğimiz sürece domain'e bağlayabiliyoruz farklı domain altında çalıştırmıyoruz. Fakat kaynak kodu vermemiz gerekiyor ve 2 gün sonra bu kişinin projeyi başkasına satma, olanakları var olabilir, o yüzden kaynak kodun içinde domain ya da daha farklı bir yöntem ile sadece bizim belirlediğimiz yerde çalışmasını sağlamalıyız.  Kişilerle gerekli yasal anlaşmalar yapılmasına rağmen benim içimin rahat etmesini istiyorum. Yazılım dili .NET MVC.
    Öneri ve görüşlerinize ihtiyacım var teşekkürler.


    override tarafından 04/Eyl/15 00:45 tarihinde düzenlenmiştir

    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    hocam başta yerde çalışmasını engelleyeck bir kod yerine, başka adreste çalışınca size haber veren bir kod ekleyin. sözleşmede satışı durumunda tazminat maddesi eklemişsinizdir. bi de ordan düdüklersiniz :D


    ..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek
    lepusmorris bunu yazdı

    hocam başta yerde çalışmasını engelleyeck bir kod yerine, başka adreste çalışınca size haber veren bir kod ekleyin. sözleşmede satışı durumunda tazminat maddesi eklemişsinizdir. bi de ordan düdüklersiniz :D

    + biraz daha somutlaştırayım olayı..

    bir dll yazacaksın hocam, bazı fonksiyonları bunun içine ekleyeceksin, atıyorum bazı şeyler db ye şifrelenerek atılıyorsa bu tarz fonksiyonları bu dll e atabilirsin ya da bir parser olabilir, json/xml parser tarzı.. 

    bu dll in içine arkadaşın bahsettiği kodu yazacaksın :) o da şöyle ki, sunucunun ip adresini alacaksın :) bu ip adresi o dll e ekleyeceğin bir servis ile kendi sunucunuza yönlendireceksiniz.. daha sonra bu ip adresini kullanarak server i bulmuş olacaksınız, size tahaattüt edilen server mı değil mi kontrol edersiniz yazdığınız servis ile.. 

    Bu dll i de önce obfuscate daha sonra pack yaparak güvenli şekilde projeye eklersiniz.. 

     

    ayrıca .net mvc bir yazılım dili değildir.

     

     

     

    unbalanced tarafından 04/Eyl/15 01:19 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    override
    override's avatar
    Kayıt Tarihi: 15/Aralık/2009
    Erkek
    unbalanced bunu yazdı
    lepusmorris bunu yazdı

    hocam başta yerde çalışmasını engelleyeck bir kod yerine, başka adreste çalışınca size haber veren bir kod ekleyin. sözleşmede satışı durumunda tazminat maddesi eklemişsinizdir. bi de ordan düdüklersiniz :D

    + biraz daha somutlaştırayım olayı..

    bir dll yazacaksın hocam, bazı fonksiyonları bunun içine ekleyeceksin, atıyorum bazı şeyler db ye şifrelenerek atılıyorsa bu tarz fonksiyonları bu dll e atabilirsin ya da bir parser olabilir, json/xml parser tarzı.. 

    bu dll in içine arkadaşın bahsettiği kodu yazacaksın :) o da şöyle ki, sunucunun ip adresini alacaksın :) bu ip adresi o dll e ekleyeceğin bir servis ile kendi sunucunuza yönlendireceksiniz.. daha sonra bu ip adresini kullanarak server i bulmuş olacaksınız, size tahaattüt edilen server mı değil mi kontrol edersiniz yazdığınız servis ile.. 

    Bu dll i de önce obfuscate daha sonra pack yaparak güvenli şekilde projeye eklersiniz.. 

     

    ayrıca .net mvc bir yazılım dili değildir.

     

     

     

    Öncelikle teşekkür ederim bu yaklaşım benim aklımda olan birşeydi kodu vereceğim kişinin kendiside bu işlerden anlıyor olabilir :) dll deki fonksiyonu commentleyip o kısımı atlatıp uygulamayı çalıştırabilir :) dll'deki fonksiyonu uygulamanın çalışmasını durduracak seviyede bir yerde kullanmamız gerekiyor 

    evet .net mvc yazılım dili değil haklısın teknoloji diyelim :) 

     

    override tarafından 04/Eyl/15 01:39 tarihinde düzenlenmiştir

    g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨ
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hocam yazdığım gibi kilit bir kod koyacaksın... bu ne olur ne olmaz senin bileceğin iş.. atıyorum entity framework kullanmışsan projende ve projen n-tier arch. e sahip ise bunu DAL katmanı olarak söyleyebilirsin.. connectionstring i de config de değil harici olarak verdirebilirsin.. 

     

    Şüphelenmemeleri için biraz genel bir dll olmalı o yüzden parser v.s. dedim.. Ama generic class lar dönerebilirsen güzel olur. c# ile yeni şeyler geldi dynamic keywordu ile birlikte.. mesela öyle bir parser yazarsın ki giren veriye göre serilize edip kendi structurunu oluşturup geri dönderebilir, dynamic keywordunu burada kullanabilir misin emin değilim çünkü denemedim ama araştır.. Bu parser da global olacağı için ve senin projende farklı yapılarda parser a ihtiyaç varsa bu tarz bir şey yapılabilr.. 

    biraz uykum geldi pek açık yazamamış olabilirim :)

     

     

    başka log + istatistik olayları olabilir. Performans ölçümü yapıyoruz dersin ya da global bir exception handler yazarak tüm exceptionlar o dll deki bir class a düşer ve ...

    mesele ben bir projemde öyle bir global handler kullandım, projenin her neresinde bir exception fırlatıldığında direk oraya düşüyor (try-catch kullanmamak gerekiyor) .. belki bu tarz bir şey yaparsan mecburen bunu kullanmak zorunda kalırlar, aksi halde her fonksiyon için bir try-catch yazmaları lazım ve ona göre hata ürettirmeleri lazım..

    diğer bir olay da dil olayı olabilir.. mesela yine benim yaptığım uygulamada multi language özelliği var, bunlar sözlükten çekiliyor..

     

    "Main_Settings_Username_Label".t(); dediğimde, sistemin dili neyse bana bu o dilde dönüyor.. 

     

    bahsetttiğim şeyler örnek sadece, bu tarz şeyler kilit parçalardır uygulama için.. İşte senin projeni detaylı olarak bilmediğim için şudur diyemem. bunu kendin bulman lazım :)

     

    kolay gelsin

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    Bazı önemli işleri sunucu tabanlı yaptırın. O sunucuda yapılan işler için gereken requestleri log tutsun zaten sıkıntı kalmaz. Sadece satış yaptığınız firmanın sunucularına izin verirsiniz.


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
Toplam Hit: 855 Toplam Mesaj: 6
safety