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

标签 c

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

相关文章:

c - 就可读性和性能而言,哪种代码风格更好?

我可以在 C 中分配特定数量的位数吗?

c++ - NetBeans 使用什么默认 make 工具

c - 从文件中读取数据并将值存储在 C 中

arrays - C 中 char ** 和 char (*)[100] 有什么区别?

c - Linux 内核模块 : printk message not where I expect to be in the buffer log

c - 为什么 fork 时终端和文件之间的输出不同?

mysql - 通过 char 数组指针存储的结构成员数据返回垃圾值

C - 带有函数指针的结构体,如何修复 "variable number of arguments"警告?

c++ - NCURSES:创建没有循环的标题栏