是否有安全的方法从用户那里获取“路径字符串”,生成它 在根目录中,同时避免目录遍历? 某种“安全的 mkdir()”。
比方说,根目录是-> "c:/test" 避免用户键入 -> "c:/test/../windows/abc.exe" 非常感谢。
最佳答案
据我所知,没有。您将需要解析提供的路径并自行对其进行清理(无论如何,这是一种很好的做法,即使在安全环境中操作也是如此)。
如果您在 *nix 下运行,我会建议使用 chroot(或等效)来限制文件系统访问,不幸的是 Windows 不支持它(除了可以作为托管 Windows 8 应用程序的一部分之外)。
假设您要自己清理它,请不要忘记除了 '..\' 符号外,还有一些连接点需要考虑(很少使用的符号链接(symbolic link)的 ntfs 实现)。
关于c - c中是否有安全的 "mkdir()"类似功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21111048/