Entry № 602
输入校验
输入校验 是什么?
输入校验在应用处理数据前,服务端检查所有不可信输入是否符合预期的类型、长度、范围、格式和取值集合。
输入校验保护应用免受来自用户、API、文件与上游服务的畸形或恶意数据。推荐采用白名单方式:精确声明可接受的内容(类型、长度、字符集、正则、业务范围)并拒绝其余,而不是试图屏蔽已知的坏模式。校验必须在服务端进行,因为客户端检查可被绕过;通常与上下文相关的输出编码及参数化查询结合使用。许多高危漏洞(SQL 注入、XSS、SSRF、反序列化、路径穿越)都源于信任边界处缺失或薄弱的输入校验。
● 示例
- 01
拒绝不是 1 到 100 之间正整数的 quantity 参数。
- 02
对 orderId 路径参数仅允许 UUID v4,使 SQL 注入载荷无法到达数据层。
● 常见问题
输入校验 是什么?
在应用处理数据前,服务端检查所有不可信输入是否符合预期的类型、长度、范围、格式和取值集合。 它属于网络安全的 应用安全 分类。
输入校验 是什么意思?
在应用处理数据前,服务端检查所有不可信输入是否符合预期的类型、长度、范围、格式和取值集合。
如何防御 输入校验?
针对 输入校验 的防御通常结合技术控制与运营实践,详见上方完整定义。
输入校验 还有哪些其他名称?
常见的别称包括: 数据校验, 服务端校验。