.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();
});
.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();
});