Bugun muhasebe kayıtlarından çıkan bir hata yüzünden bütün kayıtları gğncellemem gerekti acele ile yazdıgım kod kırıldı
Archive for the ‘Programlama’ Category
SQL Server bağlantı zaman aşımı süresi doldu hatası Sql Pooling
Asp.net Güvenliği web.config dosyasını şifreleme
Webconfig dosyasi web uygulamamızın ayarlarinin ve bilgilerinin tutuldugu bir xml dosyasıdır. IIS üzerinde yaptıgımız değişiklikler örneğin bir connection string ekleme, user tanımlama, application pool belirleme(bunu bi ara anlatcam iis 7 versiyonunu) vs iis in arayuzunu kullanarak oluşturduğumuz ayarlar aslında arka planda webconfig e yazılır. Webconfig, machine config, globalasax veya dll lerinizin bulunduğu bin klasörünüz bunlar aslında asp.net platformu tarafından güvenlik altına alınana dosyalardır okuma yazma izini vermek pek mantıklı değildir. Örneğin bin klasörüne okuma ve yazma izni vermek
Neyse konumuza dönelim bu varsayılan güvenlik önlemleri bazen yetersiz kalabiliyor. Bir web uygulamasını hacklemenin çeşitli yöntemleri var örneğin css ile webconfige mudahele edilebiliyordu ve microsoft bu açığı yamadı
webconfig dosyanın başkalarının eline geçerse uzak serverınıza bağlanabilir. roller ile oynanabilir herşey yapılabilir aslında
Webconfig dosyasının varsayılan guvenligini bu dosyayı şifreleyerek arttırabiliriz. 
Visual studio tools / command promtu açıyoruz.
Web projemizin olduğu kök dizine gidiyoruz. (cd C:\Users\serdar\Documents\Visual Studio 2008\Projects\WebApplication35\WebApplication35 gibi)
daha sonra aspnet_regiis komutunu çalıştıracağız.
aspnet_regiis pef appSettings.
bu işlem sonunda webconfig dosyamızın içerişi aşağıdaki gibi:
</configSections> <appSettings configProtectionProvider=”RsaProtectedConfigurationProvider”> <EncryptedData Type=”http://www.w3.org/2001/04/xmlenc#Element” xmlns=”http://www.w3.org/2001/04/xmlenc#”> <EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#tripledes-cbc” /> <KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”> <EncryptedKey xmlns=”http://www.w3.org/2001/04/xmlenc#”> <EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#rsa-1_5″ /> <KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”> <KeyName>Rsa Key</KeyName> </KeyInfo> <CipherData> <CipherValue>XYHbkmcbw4I1Yc+NXFXveMLVoyiNpSvya0xMg6vr2aE5kIWq+jiymfk5d7yE5dnttfVT9udXShlmDHC4psetcTXDDnU1eflOYGGiaX7pzu9He6nxxRaQNbJQOatSHCD3GeoRYMIT+OznNNeEwaOaeBwOjYibTPcfDA7lNtjSu/E=</CipherValue> </CipherData> </EncryptedKey> </KeyInfo> <CipherData> <CipherValue>Xw8g2KGmz7BtcA+Ym4DH0gF1Soba+Pd2</CipherValue>
Şifreleme işleminden sonra uygulamamızda herhangi bir problem olmadan çalışacaktır
Şimdi şifreledigimiz webconfigi geri çözelim
ayni kodu yazıyor pef yi pdf ile değiştiriyoruz (e=encrypt || d=decrypt)
ASP.net App_offline.htm kullanımı
Bugun karşılaştıgım bir problem yuzunden küçük bi araştırma yaptım ve paylaşmak istedim proje geliştirdiğimiz ve sürekli sistem çalışan bir sistem üzerinde değişikilk yapmam gerekiyor ve bu değişiklikler sırasında Asp.net in meşhur bir hata sayfası vardir
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
|
kullanıcı sürekli o sayfa ile karşı karşıya kalıyordu site üzerinde bir değişiklik yapacağınız zaman server ın kok dizinine App_offline.htm adında bir html dosyası upload ediyoruz (yada serverda dursun adını degiştirin
) sayfanın tasarımını ben aşağıdaki gibi yaptım
Artık kullanıcılarınız siz düzeltmeleri yaparken bu sayfa ile karşılaşacaklar. Bu arada bu işlemi kod yazarak yapmak isteyen arkadaşlar HttpModule veya global asax application start dosyası ile kendi oluşturdugunuz bir cms sistemi ile de çözebilirsiniz.