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)