在 ASP.Net Core 3.1 中禁用 HTTP 选项方法

Disable HTTP Options method in ASP.Net Core 3.1

作为安全修复的一部分,我们需要在 ASPNET Core Web 应用程序中禁用 HTTP OPTIONS 方法。我们如何在 ASP.Net core 3.1 API 中禁用 HTTP OPTIONS 方法?

这是一个带有中间件的演示: 将此添加到您的启动配置:

 app.Use(async (context, next) =>
            {
                // Do work that doesn't write to the Response.
                if (context.Request.Method=="OPTIONS")
                {
                    context.Response.StatusCode = 405;
                    return; 
                }

                await next.Invoke();
                // Do logging or other work that doesn't write to the Response.
            });

结果:

或者你可以申请 [HTTPGet] [HttpPost] [HTTPPut] ... 关于你在 controller.Here 中的操作方法是 an official document 关于 Http 动词。