SuperAPI AI 工具集

data-validation-pattern

安全与审计

查看项目

更新于 10-15 22:16

技能介绍

用途:该模式要求所有来自外部来源(用户、API、数据库)的数据在处理前先按规范校验,防止注入攻击、数据损坏与意外行为,并保障业务逻辑的数据完整性。

主要能力:定义实体、执行点、校验器、规范提供者与系统等角色;数据元素包括原始 data、规范化后的 canonical_data、specification、type 与 error。流程为执行点拦截全部输入,校验器获取对应规范,转换为规范形式并比对,合法则转发系统,非法则返回错误。校验原则包括校验一切、规范化形式、优先允许清单而非阻止清单、尽早且反复校验。校验类型涵盖类型、范围/长度、格式与业务逻辑校验。

使用方式:在系统边界最早处校验,并在依赖数据的敏感代码附近再次校验;对文件上传校验内容类型、大小并扫描恶意软件,存储于 Web 根目录之外;结构化数据使用安全解析器、禁用外部实体处理、按模式校验并限制嵌套深度;正则需防 ReDoS,先限制输入长度。示例中给出 Python(Pydantic/Flask)与 JavaScript(Zod/Express)的严格模式定义与校验写法。

适用场景:输入处理、API 请求校验清单、文件上传、JSON/XML 等结构化数据解析、业务规则校验。

限制与注意:校验不等于授权,二者都需具备;错误信息不应暴露内部细节,服务端记录详细日志、客户端返回通用错误;校验不能替代输出编码,仍需参数化查询与上下文转义。