必须校验路径遍历字符(..、/、)、空字节与控制字符(x00-x1F等)、windows保留名(CON、AUX等)、非法文件系统字符(: ” | ? *等)及编码合法性,再清洗重命名。
直接 rename() 会导致失败甚至安全风险,比如传入 ../etc/passwd 或空字节
rename()
../etc/passwd