tgoop.com/fullStackDevs/401
Last Update:
#Security
#Hsts
#قسمت_دوم(قسمت اخر)
Enforce SSL And Use Hsts in Asp Core
در این پست که پست آخر در این مورد نیز میباشد به فعال سازی Https و نحوه افزودن هدر Strict-Transport-Security به ResposeHeader می پردازیم .
برای فعال سازی Hsts مسلم است که ابتدا باید Https را فعال نمایید که به دو صورت انجام میشود.
1.فعال کردن https فقط برای بخش هایی از سایت
2. فعال کردن Https برای کل سایت
در حالت اول میتوانید از اتریبیوت [RequireHttps] بربالای کنترل خود استفاده کنید.(این روش اصلا برای webapi توصیه نمی شود).
روش دوم استفده از گلوبال فیلتر هاست و به این صورت انجام میشودif (!_env.IsDevelopment())
{
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
}); }
مرحله بعدی فعال کردن Hsts میباشد. از نسخه 2.1 فریم Asp Core به بعد به صورت توکار میدلوری برای پیاده سازی Hsts به فریم وورک اضافه شد و تا قبل ان باید از
Third Party Library
نظیر NWebsec.AspNetCore.Middleware
Joonasw.AspNetCore.SecurityHeaders
استفاده می کردید .
اما از این نسخه به بعد میدلوری به نامapp.UseHsts();
به صورت توکار وجود دارد که کار افزودن هدر Strict-Transport-Security
انجام میدهد . if (env.IsDevelopment())
برای انجام تنظیمات خاص خود بر روی این هدر میتوانید در
{
//
}
else
{
app.UseHsts(); // Add This
}ConfigureServices
کانفیگ های خود را به این صورت اعمال نمایید.if (!_env.IsDevelopment())
{
services.AddHsts(options =>
{
options.Preload = true;
options.IncludeSubDomains = true;
options.MaxAge = TimeSpan.FromDays(60);
options.ExcludedHosts.Add("example.com");
options.ExcludedHosts.Add("www.example.com");
});
}
IncludeSubDomains
هدر را برای SubDomain های تان نیز فعال میکند.
MaxAge
مدت زمان فعال بودن هدر Strict-Transport-Security
بر روی مرورگر کاربر به صورت پیشفرض 30 روز تنظیم شده است.
ExcludedHosts
افزودن لیست سایت های که نیاز به فعال سازی هدر Hsts را برای آنها نیست.
Preload
اما هنوز ما مشکلی با اولین در خواست به سایتمان که به صورت پیشفرض توسط مرورگر http ارسال میشود داریم . این مشکل را میتوانید به کمک سایت https://hstspreload.org/ حل کنید
کافیست دامنه سایت تان را در آن ثبت کنید و در Release های بعدی مرورگر کروم دامنه سایت تان به صورت توکار در Preload List های مروگر خواهد بود و مرورگر میداند برای سایت تان باید از Https استفده کند.
مرورگر های فایر فاکس ، سافاری ،اپرا، IE 11 ،Edge نیز از همین Preload List کروم استفاده میکنند.
@fullStackDevs
https://www.tgoop.com/fullStackDevs
BY Web Devs

Share with your friend now:
tgoop.com/fullStackDevs/401