我在 SecurityHeaders.com 上運行了一次掃描,它顯示了 cookie 沒有前綴的警告,我不知道如何向 cookie 添加前綴。誰能告訴我如何在 asp.net core 中做到這一點?網站掃描結果截圖
這是來自 Startup.cs 類的 ConfigureServices 方法
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
options.Secure = CookieSecurePolicy.Always;
});
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddAzureAdB2C(options => Configuration.Bind("AzureAdB2C", options))
.AddCookie();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddDistributedMemoryCache();
services.AddSession();
}
這是配置方法
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseExceptionHandler("/Error");
app.UseHsts();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute("home", "{action=Index}",
defaults: new { controller = "Home" });
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
uj5u.com熱心網友回復:
我找到了答案。所以如果有人需要它就在這里發布。在 SessionOptions 中,將 Cookie.Name 設定為 prefix name。
__Secure-下面是會話 Cookie 名稱中的前綴。
services.AddSession(options =>
{
options.Cookie.Name = "__Secure-.AspNetCore.Session";
//options.IdleTimeout = TimeSpan.FromSeconds(600);
//options.Cookie.IsEssential = true;
});
是的,它也解決了掃描中的安全標頭問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/347655.html
