使用unlink()前必须校验路径合法性并检查返回值,防止目录遍历、静默失败、阻塞及windows文件占用问题,推荐结合realpath()、basename()、异步清理与文件锁确保安全可靠。

php用unlink()删文件前必须检查路径合法性
直接传用户输入给unlink()等于敞开服务器大门。常见错误是拼接路径后没做归一化和白名单校验,导致../../../etc/passwd这类路径绕过。
实操建议:
立即学习“PHP免费学习笔记(深入)”;
- 用
realpath()展开路径,再判断是否落在允许目录内(如/var/www/uploads/) - 禁止路径中出现
..、/开头(除非明确需要绝对路径)、空字节