背景与价值不一致的URL编码与双重解码可能导致绕过与注入。统一规范化与防护可提高安全性。统一规范单一解码:参数仅解码一次,拒绝可疑编码嵌套。规范化:路径统一规范与保留保留字符编码。校验:参数字符集与长度限制。核心实现安全解码与规范化function safeDecode(s: string): string | null { try { const once = decodeURIComponent(s) if (/%[0-9A-Fa-f]{2}/.test(once)) return null return once } catch { return null } } function normPath(p: string): string { return p.replace(/\\/g,'/').replace(/\/+/g,'/') } function validParam(s: string, maxLen = 128): boolean { return s.length > 0 && s.length <= maxLen && /^[A-Za-z0-9_\-\. ]+$/.test(s) } 落地建议对参数只执行一次解码并检测是否仍含编码序列,拒绝双重解码情况;路径统一规范化。验证清单参数是否仅解码一次且无余留编码;路径是否归一化并校验字符集。

发表评论 取消回复