Skip to main content

is_path_safe

Function is_path_safe 

Source
async fn is_path_safe(path: &str) -> bool
Expand description

校验请求路径不会逃出 uploads 目录。

两层校验:① 子串级拒绝 ../\0/绝对路径前缀;② 对已存在文件用 canonicalize 确认解析后真实路径仍在 uploads 目录内(纵深防御,抵御符号链接等绕过)。 文件不存在或 uploads 目录不存在时只做第一层校验(由后续 read 报 404)。