ASP.NET MVC kullananlar için. SSL / TLS'yi HTTPS üzerinden tüm site üzerinde iki şekilde zorlamak için aşağıdakileri kullanabilirsiniz:
Zor yol
1 - RequireHttpsAttribute öğesini genel filtrelere ekleyin:
GlobalFilters.Filters.Add(new RequireHttpsAttribute());
2 - Sahtecilikle Mücadele simgelerini SSL / TLS kullanmaya zorlayın:
AntiForgeryConfig.RequireSsl = true;
3 - Web.config dosyasını değiştirerek Tanımlama Bilgilerinin varsayılan olarak HTTPS gerektirmesini iste:
<system.web>
<httpCookies httpOnlyCookies="true" requireSSL="true" />
</system.web>
4 - NWebSec.Owin NuGet paketini kullanın ve site genelinde Sıkı Aktarım Güvenliğini etkinleştirmek için aşağıdaki kod satırını ekleyin. Aşağıdaki Ön Yükleme yönergesini eklemeyi ve sitenizi HSTS Ön Yükleme sitesine göndermeyi unutmayın . Burada ve burada daha fazla bilgi . OWIN kullanmıyorsanız, NWebSec sitesinde okuyabileceğiniz bir Web.config yöntemi olduğunu unutmayın .
// app is your OWIN IAppBuilder app in Startup.cs
app.UseHsts(options => options.MaxAge(days: 30).Preload());
5 - NWebSec.Owin NuGet paketini kullanın ve sitede Genel Anahtar Sabitlemeyi (HPKP) etkinleştirmek için aşağıdaki kod satırını ekleyin. Burada ve burada daha fazla bilgi .
// app is your OWIN IAppBuilder app in Startup.cs
app.UseHpkp(options => options
.Sha256Pins(
"Base64 encoded SHA-256 hash of your first certificate e.g. cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
"Base64 encoded SHA-256 hash of your second backup certificate e.g. M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE=")
.MaxAge(days: 30));
6 - Kullanılan URL'lere https şemasını ekleyin. İçerik Güvenlik İlkesi (CSP) HTTP üstbilgisi ve Alt Kaynak Bütünlüğü (SRI) , bazı tarayıcılarda düzeni taktığınızda iyi oynatılmıyor. HTTPS hakkında açık olmak daha iyidir. Örneğin
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.4/bootstrap.min.js"></script>
Kolay yol
Tüm bu ve çok daha fazla yerleşik bir proje oluşturmak için ASP.NET MVC Boilerplate Visual Studio proje şablonunu kullanın. GitHub kod da görüntüleyebilirsiniz .