"c:/test"避免用户键入 -> "c:/test/../-6ren">
gpt4 book ai didi

c - c中是否有安全的 "mkdir()"类似功能?

转载 作者:太空狗 更新时间:2023-10-29 15:40:51 26 4
gpt4 key购买 nike

是否有安全的方法从用户那里获取“路径字符串”,生成它在根目录中,同时避免目录遍历?某种“安全的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com