.net core 3.1是否默认激活CSP(内容安全策略)?

Is CSP (Content Security Policy) activated by default in .net core 3.1?

.net core 3.1 是否默认激活了 CSP(内容安全策略)?还是需要在启动时手动添加?

抱歉,如果之前有人在这里问过这个问题,但我似乎找不到答案

框架无法知道哪种特定内容策略适合您的应用程序,因此默认情况下无法添加。需要自己加一个。

使用中间件非常简单。例如,您可以只设置一个委托:

app.Use(async (context, next) =>
{
    context.Response.Headers.Add("Content-Security-Policy", "...");
    await next();
});

但是不要让它的简单性欺骗了您。深思熟虑:在具体决定使用何种内容安全策略以及何时应用时,您需要考虑几件事情。例如,在您的开发环境中,您可能需要与在生产环境中不同的安全策略(例如,不需要使用 https 的安全策略)。还要考虑您的 client-side 代码是否正在使用需要允许 iframe、'unsafe-inline' 脚本等的应用程序技术

制定内容安全策略后,运行 通过 Google's CSP Evaluator 深入了解您可能没有考虑过的事情。

您需要将其添加到启动的配置方法中。默认不加1。

这将是最简单的解决方案,但是,如果您有一个复杂的 CSP,那么您可能需要设置自己的中间件 类。

app.Use(async (context, next) =>
{
   context.Response.Headers.Add("Content-Security-Policy", "default-src 'self';");
    await next();
});