用途:为文件上传接口提供生产级安全处理,防止恶意文件、重复处理和并发竞态问题。
主要能力:采用多阶段校验流水线,先做低成本检查再逐步深入——大小与类型检查、内容签名校验(如 PDF 魔数 %PDF)、ClamAV 恶意软件扫描、基于 SHA-256 哈希的重复检测、Redis 竞态锁、上传存储、清除锁并返回 URL。核心原则是先检查限制再上传,避免浪费处理。
使用方式:提供 Python(FastAPI)与 TypeScript 实现。Python 侧包含 FileValidator、MalwareScannerService(ClamAV 集成,支持优雅降级)与 DuplicateDetector(哈希计算、重复查询、Redis 处理标记与 TTL)。上传端点先检查用量限制,再依次校验、计算哈希、查重、加锁、上传、清锁。TypeScript 侧提供 FileValidator 与 DuplicateDetector 的哈希计算。
适用场景:构建处理不可信输入的上传端点、需要在处理前扫描恶意软件、防止重复文件处理、处理同一文件的并发上传。
限制与注意:ClamAV 不可用时按优雅降级处理,扫描失败则拒绝文件(fail-safe);处理标记需设置 TTL(默认 300 秒)以防崩溃后卡死;哈希应在写入存储前于内存中计算。资料未提供具体收费、价格或平台信息。