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

Ala*_*hly 4 .net asp.net-core asp.net-core-3.1

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

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

Str*_*ior 9

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

使用中间件,这是相当简单的。例如,您可以设置一个委托:

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

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

制定内容安全策略后,请通过Google 的 CSP 评估器运行它,以深入了解您可能没有考虑到的事情。