输入校验是指验证来自用户的输入数据是否符合预期格式与范围的过程。OWASP 表示,对于 SQL 注入和 XSS,除输入校验外还需要参数化查询和与上下文相应的输出编码。
输入校验的方式有白名单方式 (定义允许的模式,拒绝其余全部) 与黑名单方式 (定义禁止的模式,允许其余全部) 。OWASP 要求定义应用接受的值并拒绝其余的值,而不要试图识别所有恶意字符串。
在短链接服务中,用户输入的 URL 也是校验的对象。校验项目的例子包括:URL 的格式是否正确 (是否符合 RFC 3986) ;协议是否为 `http://` 或 `https://` (排除 `javascript:` 方案) ;域名是否被列入黑名单 (排除钓鱼站点) ;以及 URL 的长度是否在上限之内。OWASP 的 XSS 防护备忘单把只允许 http 和 https 的 URL 列为 href 或 src 属性中不可信 URL 的防护示例。