2016-04-07 29 views
0

Web.config dosyasında kullanıcı adı & parolasını, ASP.NET MVC uygulamalarındaki diğer parametreler yani zaman aşımı süresi vb. Olarak kaydetmek güvenli midir? Değilse, bu parametrelerin yayınlanabilen sunucudaki web.config dosyasında kodlanamayacak şekilde güvenli hale getirilmesi mümkün müdür? Öte yandan, kullanıcı adı & şifresini ve diğer sabit parametreleri Sınıf (* .cs) dosyasında statik değerler olarak saklamanızı önerir misiniz? Bu parametreleri saklamak için hangi yaklaşımın daha iyi olduğu konusunda lütfen bana bilgi verir misiniz?Web.config'ta hassas bilgileri (kullanıcı adı ve parola) tutmak mı istiyorsunuz?

+0

[Şifreleme app.config Dosyası] (http://stackoverflow.com/questions/3349551/encrypting-app-config-file) Yardımlarınız için – Steve

+0

@Steve teşekkürler. Uygulamanın yayınlandığı sunucuya erişimi olan kişi, "yayınlanan sunucuda web.config dosyasında kodlanamazlar" ifadesini kullandım. Yani, web.config seçeneğini kullanarak, önerdiğiniz gibi şifrelemeyi kullanmam gerekiyor. Öte yandan, bir Sınıf dosyası seçeneği de iyi görünüyor, ama büyük olmayan bir proje için Kaynaklar projesi oluşturmaya gerek olmadığını düşünüyorum. Bu durumda, web.config yerine tüm parola veya kullanıcı parametrelerini saklamak için sadece Sabit olarak adlandırılan bir Sınıf dosyası kullanmak iyi bir fikir midir? –

+0

Gerçekten değil. NET kodu kolayca ayrıştırılabilir ve ayrıca bir çeşit gizleme ile sabit bir dizgeyi gizlemek zordur. Kodunuzun çalıştığı bilgisayara erişimi fiziksel olarak yasaklayamazsanız, hiçbir şey gerçekten güvenli değildir. En azından uzak mesafeden bakanlar tutmaya yetecek kadar güçlü bir çeşit şifreleme var. Hepsi, ne kadar güvende olmanız gerektiğine bağlı. – Steve

cevap

1

Önemli verileri kesinlikle kaynak kodunda saklamamalısınız. <connectionStrings> işaretinin tamamını değiştirmek için configSource özniteliğini kullanabilirsiniz.

<connectionStrings configSource="ConnectionStrings.config"> 
</connectionStrings> 

ConnectionStrings.config Web.config ile aynı klasörde olması gerekir. Yapılandırma dosyaları IIS tarafından sunulmadığından, uzantı .config dosyasını tutmak en iyisidir. Bu dosya sürüm kontrol sistemi tarafından yok sayılmalıdır.

https://www.asp.net/identity/overview/features-api/best-practices-for-deploying-passwords-and-other-sensitive-data-to-aspnet-and-azure