Asp.Net Lisanslama
Meraba Arkadaşlar bu makalede web tabanlı yazılımınızın nasıl lisanslanacağına değineceğiz. Asp.net de yazdığımız yazılımımızı satarken sadece sattığımız site domaininde kullanılmasını istiyorsak web projemizi lisanslarız.
İlk olarak web.config dosyamıza aşağıdaki kodu ekliyoruz.
1 2 3 |
<appSettings> <add key=“licenseKey”value=“lisanskodu”/> </appSettings> |
Lisans kodunu domain adresine göre oluştururken burada base64 kullanıyoruz. Başka şifreleme türleride kullanılabilir.
Sifrele.cs adında bir class tanımlıyoruz. Ve lisanslayacağımız domain adresini bu metodu kullanarak şifreliyoruz sitemizdeki araçlar kısmından da şifreleyebilirsiniz. Şifrelenmiş kodu web.config deki lisanskodu kısmına ekliyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Web; namespaceLisanslama { publicclassSifrele { publicstringSifrele(stringurl) { try { UnicodeEncoding ue=newUnicodeEncoding(); Byte[]buffer=ue.GetBytes(url); returnConvert.ToBase64String(buffer); } catch{returnnull;} } } } |
Şifreyi Çözmek İçin SifreCoz .cs adında bir class tanımlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Web; namespaceLisanslama { publicclassSifreCoz { publicstringCoz(stringurl) { try { UnicodeEncoding ue=newUnicodeEncoding(); Byte[]buffer=Convert.FromBase64String(url); returnue.GetString(buffer); } catch{returnnull;} } } } |
Daha Sonra web projemize bir global.asax dosyası ekliyoruz, global.asax dosyasının Application_BeginRequest eventine aşağıdaki kodu ekliyoruz.
1 2 3 4 5 6 |
SifreCoz Sifre=newSifreCoz(); stringlisans=Sifre.Coz(ConfigurationManager.AppSettings[“licenseKey”].ToString()); if(Request.Url.Authority!=lisans) { Response.Redirect(“Lisans.aspx”); } |
Eklediğimiz kod sayfa açıldığında, web.config deki lisans kodunu çözüp, domain adresiyle karşılaştırıyor domain, lisanskeye eşit değilse, ziyaretçiyi if bloğu içerisinde belirttiğimiz adrese yönlendiriyor.
Projemizi Publish edip kodların görünmemesini sağlıyoruz. Bu şekilde lisans işlemini gerçekleştiriyoruz.