Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ClickOnce uygulamaları, kodun korumalı kaynaklara ve işlemlere erişimini sınırlamaya yardımcı olmak için .NET Framework'te kod erişimi güvenlik kısıtlamalarına tabidir. Bu nedenle, ClickOnce uygulamalarınızı buna göre yazmak için kod erişimi güvenliğinin etkilerini anlamanız önemlidir. Uygulamalarınız Tam Güven kullanabilir veya erişimi sınırlamak için İnternet ve İntranet bölgeleri gibi kısmi bölgeleri kullanabilir.
Ayrıca ClickOnce, uygulamanın yayımcısının orijinalliğini doğrulamak ve dosyaların değiştirilmediğini kanıtlamak için uygulama ve dağıtım bildirimlerini imzalamak için sertifikaları kullanır. İmzalama, bildirimler oluşturulduktan sonra uygulama dosyalarını değiştirmeyi kolaylaştıran isteğe bağlı bir adımdır. Ancak, imzalı bildirimler olmadan, uygulama yükleyicisinin ortadaki adam güvenlik saldırılarında değiştirilmediğinden emin olmak zordur. Bu nedenle, uygulamalarınızın güvenliğini sağlamaya yardımcı olmak için uygulama ve dağıtım bildirimlerinizi imzalamanızı öneririz.
Bölgeler
ClickOnce teknolojisi kullanılarak dağıtılan uygulamalar, güvenlik bölgesi tarafından tanımlanan bir dizi izin ve eylemle sınırlıdır. Güvenlik bölgeleri tarayıcıda tanımlanır ve uygulamanın konumunu temel alır. Aşağıdaki tabloda, dağıtım konumuna göre varsayılan izinler listelenir:
Dağıtım Konumu | Güvenlik Bölgesi |
---|---|
Web'den çalıştır | Internet Bölgesi |
Web'den yükleme | Internet Bölgesi |
Ağ dosya paylaşımından yükleme | Yerel Intranet bölgesi |
CD-ROM'dan yükleme | Tam Güven |
Varsayılan izinler, uygulamanın özgün sürümünün dağıtıldığı konumu temel alır; güncelleştirmeleri bu izinleri devralır. Uygulama bir Web veya ağ konumundan güncelleştirmeleri denetlemek üzere yapılandırılmışsa ve daha yeni bir sürüm varsa, özgün yükleme tam güven izinleri yerine İnternet veya Intranet bölgesi için izinleri alabilir. Kullanıcıların sorulmasını önlemek için, sistem yöneticisi belirli bir uygulama yayımcısını güvenilir bir kaynak olarak tanımlayan bir ClickOnce dağıtım ilkesi belirtebilir. Bu ilkenin dağıtıldığı bilgisayarlar için izinler otomatik olarak verilir ve kullanıcıdan istenmez. Daha fazla bilgi için bkz . Güvenilen Uygulama Dağıtımına Genel Bakış. Güvenilen uygulama dağıtımını yapılandırmak için sertifika makineye veya kurumsal düzeye yüklenebilir. Daha fazla bilgi için bkz . Nasıl yapılır: ClickOnce Uygulamaları için İstemci Bilgisayara Güvenilen Yayımcı Ekleme.
Uyarı
.NET Core ve .NET 5 veya üzeri için ClickOnce'da bu özellik desteklenmez. Daha fazla bilgi için bkz. .NET için ClickOnce.
Kod erişimi güvenlik ilkeleri
Bir uygulamanın izinleri, uygulama bildiriminin <trustInfo> Öğesi öğesindeki ayarlar tarafından belirlenir. Visual Studio, projenin Güvenlik özelliği sayfasındaki ayarlara göre bu bilgileri otomatik olarak oluşturur. ClickOnce uygulamasına yalnızca istediği belirli izinler verilir. Örneğin, dosya erişiminin tam güven izinleri gerektirdiği durumlarda, uygulama dosya erişim izni isterse, tam güven izinleri değil, yalnızca dosya erişim izni verilir. ClickOnce uygulamanızı geliştirirken, yalnızca uygulamanın ihtiyaç duyduğu belirli izinleri istediğinizden emin olmanız gerekir. Çoğu durumda, uygulamanızı kısmi güvenle sınırlamak için İnternet veya Yerel İntranet bölgelerini kullanabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: ClickOnce uygulaması için güvenlik bölgesi ayarlama. Uygulamanız özel izinler gerektiriyorsa, özel bir bölge oluşturabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: ClickOnce uygulaması için özel izinleri ayarlama.
Uyarı
.NET Core ve .NET 5 veya üzeri için ClickOnce'da Kod Erişim Güvenliği desteklenmez. .NET Framework'te Kod Erişim Güvenliği kullanımı en iyi yöntem değildir ve önerilmez.
Uygulamanın dağıtıldığı bölge için varsayılan izin kümesinin parçası olmayan bir izin eklemek, son kullanıcıdan yükleme veya güncelleştirme zamanında izin vermesi istenmesini sağlar. Kullanıcıların sorulmasını önlemek için, sistem yöneticisi belirli bir uygulama yayımcısını güvenilir bir kaynak olarak tanımlayan bir ClickOnce dağıtım ilkesi belirtebilir. Bu ilkenin dağıtıldığı bilgisayarlarda izinler otomatik olarak verilir ve kullanıcıdan istenmez.
Geliştirici olarak, uygulamanızın uygun izinlerle çalıştırıldığından emin olmak sizin sorumluluğunuzdadır. Uygulama çalışma zamanında bir bölgenin dışından izin isterse, bir güvenlik özel durumu görüntülenebilir. Visual Studio, hedef güvenlik bölgesinde uygulamanızda hata ayıklamanıza olanak tanır ve güvenli uygulamalar geliştirme konusunda yardım sağlar. Daha fazla bilgi için bkz. System.Deployment.Application kullanan ClickOnce uygulamalarında hata ayıklama.
Kod erişim güvenliği ve ClickOnce hakkında daha fazla bilgi için bkz. ClickOnce uygulamaları için kod erişim güvenliği.
Kod imzalama sertifikaları
ClickOnce dağıtımını kullanarak bir uygulama yayımlamak için, ortak/özel anahtar çifti kullanarak uygulama ve dağıtım bildirimlerini imzalayabilirsiniz. Bildirim imzalama araçları Proje Tasarımcısı'nınİmzalama sayfasında bulunur. Daha fazla bilgi için bkz. İmzalama Sayfası, Proje Tasarımcısı.
Bildirimler imzalandıktan sonra, Authenticode imzasını temel alan yayımcı bilgileri, kullanıcıya uygulamanın güvenilir bir kaynaktan geldiğini göstermek için yükleme sırasında izinler iletişim kutusunda görüntülenir.
ClickOnce ve sertifikalar hakkında daha fazla bilgi için bkz. ClickOnce ve Authenticode.
form tabanlı kimlik doğrulaması ASP.NET
Her kullanıcının hangi dağıtımlara erişebileceğini denetlemek istiyorsanız, Web sunucusunda dağıtılan ClickOnce uygulamalarına anonim erişimi etkinleştirmemelisiniz. Bunun yerine, kullanıcıların Windows kimlik doğrulamasını kullanarak bir kullanıcının kimliğine göre yüklediğiniz dağıtımlara erişmesini sağlarsınız.
ClickOnce, kalıcı tanımlama bilgileri kullandığından ASP.NET form tabanlı kimlik doğrulamasını desteklemez; bunlar, tarayıcı önbelleğinde bulundukları ve ele geçirilebildiği için bir güvenlik riski oluşturur. Bu nedenle, ClickOnce uygulamalarını dağıtıyorsanız Windows kimlik doğrulamasının yanı sıra herhangi bir kimlik doğrulama senaryosu desteklenmez.
Argümanları geçirme
Bir ClickOnce uygulamasına bağımsız değişkenler geçirmeniz gerekiyorsa ek bir güvenlik konusu oluşur. ClickOnce, geliştiricilerin Web üzerinden dağıtılan uygulamalara bir sorgu dizesi sağlamasına olanak tanır. Sorgu dizesi, uygulamayı başlatmak için kullanılan URL'nin sonunda bir dizi ad-değer çifti biçimindedir:
http://servername.adatum.com/WindowsApp1.application?username=joeuser
Varsayılan olarak, sorgu dizesi parametreleri devre dışı bırakılır. Bunları etkinleştirmek için özniteliğin trustUrlParameters
uygulamanın dağıtım bildiriminde ayarlanması gerekir. Bu değer, Visual Studio ve MageUI.exearacılığıyla ayarlanabilir. Sorgu dizelerini geçirmeyi etkinleştirme hakkında ayrıntılı adımlar için bkz . Nasıl yapılır: Çevrimiçi ClickOnce uygulamasında sorgu dizesi bilgilerini alma.
Bir sorgu dizesi aracılığıyla alınan bağımsız değişkenleri, güvenli olduklarından emin olmak için bağımsız değişkenleri denetlemeden hiçbir zaman veritabanına veya komut satırına geçirmemelisiniz. Güvenli olmayan bağımsız değişkenler, kötü amaçlı bir kullanıcının uygulamanızı rastgele komutlar yürütecek şekilde işlemesine izin verebilecek veritabanı veya komut satırı kaçış karakterleri içeren bağımsız değişkenlerdir.
Uyarı
Sorgu dizesi bağımsız değişkenleri başlangıçta bir ClickOnce uygulamasına geçirmenin tek yoludur. Komut satırından ClickOnce uygulamasına değişken geçiremezsiniz.
Gizlenmiş derlemeleri yaymak
Visual Studio, kod gizleme ve etkin koruma önlemleri aracılığıyla ClickOnce uygulamalarınızı korumak için kullanabileceğiniz ücretsiz PreEmptive Protection - Dotfuscator Community'yi içerir. Ayrıntılar için dotfuscator topluluk kullanıcı kılavuzunun ClickOnce bölümüne bakın.
İlgili içerik
- ClickOnce güvenlik ve dağıtım
- ClickOnce dağıtım stratejisi seçme