环境:net8
nuget包:OwaspHeaders.Core Version=9.0.1
OwaspHeaders.Core是一款专为ASP.NET Core设计的中间件集合,旨在通过采用OWASP推荐的请求头,以增强Web应用的安全性。该项目不仅支持最新的.NET SDK版本,还提供了丰富的配置选项,让开发者能够灵活地定制安全策略。
OwaspHeaders.Core的核心功能是通过注入HTTP头来提升应用的安全性。这些头包括但不限于:
Strict-Transport-Security:强制使用HTTPS。
X-Frame-Options:防止点击劫持。
X-XSS-Protection:启用浏览器的XSS过滤器。
X-Content-Type-Options:防止MIME类型混淆攻击。
Content-Security-Policy:限制资源加载,防止跨站脚本攻击。
Referrer-Policy:控制Referrer头的策略。
此外,该项目还提供了自定义配置的能力,允许开发者根据具体需求调整安全头设置
暂不支持 Blazor 或 WebAssembly 应用程序
program:
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
app.UseSecureHeadersMiddleware(SecureHeadersMiddlewareExtensions.BuildDefaultConfiguration());//使用默认配置
//app.UseSecureHeadersMiddleware(CustomConfiguration());//自定义配置
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.Run();
}
public static SecureHeadersMiddlewareConfiguration CustomConfiguration()
{
return SecureHeadersMiddlewareBuilder
.CreateBuilder()
.UseHsts()
.UseXFrameOptions()
.UseContentTypeOptions()
.UseContentDefaultSecurityPolicy()
.UseReferrerPolicy()
.RemovePoweredByHeader()
.UseXssProtection()
.UseCrossOriginResourcePolicy()
.Build();
}
}
使用前
使用后:增加如下请求头信息