ASP.Net Core API 中的请求验证

Posted

技术标签:

【中文标题】ASP.Net Core API 中的请求验证【英文标题】:Request validation in ASP.Net Core API 【发布时间】:2019-08-03 07:24:25 【问题描述】:

根据这个question,dotnet core 中不存在Request Validation。如果我正确理解了这个问题,我需要实现一个自定义方法来验证所有预期模型中的每个字符串。

在我的例子中,我正在研究 ASP.Net Core Web API,我预计会使用几十个模型。每个模型平均有 4 个字符串属性。 我不认为在我的模型中到处执行这种重复性任务会是一个好的解决方案。

是否有人可以针对 XSS 和 SQL 注入对所有字符串输入进行验证。

【问题讨论】:

【参考方案1】:

我认为一种解决方法是拥有一个具有验证字符串方法的抽象模型类,并且您可以为字符串对象编写扩展方法,例如 string.validate() ,当您调用任何模型的验证方法时它将调用超类的 validate 方法,在那里您可以使用反射循环对象“this”的所有字符串类型,最终调用该模型中所有字符串类型的所有扩展方法。 我没有测试这种方法,但它似乎有效。 如果你测试它,请告诉我。

【讨论】:

以上是关于ASP.Net Core API 中的请求验证的主要内容,如果未能解决你的问题,请参考以下文章

从 ASP.NET Core 中的 API 读取 JWT 令牌

ASP.NET Core Web API 身份验证

Asp.Net Core 2 验证承载令牌

根据 ASP.NET Core 请求标头中提供的 API 密钥授权用户

从 Axios 请求返回 ASP.NET Core API 中的下载文件

ASP.NET Core 2.1 API JWT 令牌 Session.id 在每次请求时都会更改