大航母网站建设怎么样,网站开发专业分析,开篇网站推广,建设工程教育网校官网前言
所谓输入的是垃圾#xff0c;输出也必然是垃圾#xff0c;有多少安全问题隐藏在请求的数据中#xff0c;所以永远不能相信来自用户端的输入。
对请求数据的合法性进行校验#xff0c;不仅有助于提升用户界面的友好性#xff0c;而且有助于提高后台程序的安全性和稳…
前言
所谓输入的是垃圾输出也必然是垃圾有多少安全问题隐藏在请求的数据中所以永远不能相信来自用户端的输入。
对请求数据的合法性进行校验不仅有助于提升用户界面的友好性而且有助于提高后台程序的安全性和稳定性。
ASP.NET Core 主要通过内置的 DataAnnotations 实现对数据进行校验DataAnnotations 是一组属性类用于为模型类的属性添加验证规则如必填、最大长度、正则表达式等使用时非常方便请看下面的 Step By Step 例子
Step By Step 步骤 创建一个 Asp.Net Core WebApi 项目 创建 Login 操作方法的请求参数类 LoginRequest using System.ComponentModel.DataAnnotations;public class LoginRequest
{// 直接对类属性设置数据内置检验[Required][EmailAddress][RegularExpression(^.*(qq|163)\\.com$, ErrorMessage 只支持QQ和163邮箱)]public string Email { get; set; }[Required][StringLength(10, MinimumLength 3)]public string Password { get; set; }[Compare(nameof(Password), ErrorMessage 两次密码必须一致)]public string PasswordConfirm { get; set; }
}打开登录请求控制器编写 Login API using Microsoft.AspNetCore.Mvc;namespace DatavalidSample.Controllers
{[ApiController][Route([controller]/[action])]public class TestController : ControllerBase{// 执行时自动对 LoginRequest 进行数据校验[HttpPost]public ActionResult Login(LoginRequest req){return Ok(req);}}
}总结 ASP.NET Core 内置数据校验使用起来非常简单只需通过一些特性标记即可定义验证规则不需要编写大量自定义代码 内置数据校验功能与 ASP.NET Core 框架紧密集成可以方便地与 MVC、Web API 等组件结合使用 使用 DataAnnotations 特性标记符合标准化的数据校验规范易于理解和维护 内置的 DataAnnotations 特性提供了各种常用的验证规则如必填、范围、正则表达式等满足大部分常见的数据校验需求
总的来说ASP.NET Core 内置数据校验功能适用于大多数简单的数据校验需求能够提高开发效率和代码可维护性