我正在尝试编写一个简单的 C# 函数来验证用户输入的 shell 脚本的完整 Unix 路径,以避免一些事情:
- 路径格式正确,没有无效符号,如空格或分号
- 没有可疑的命令,例如
rm -rf /
- path 代表完整路径,没有亲属关系
- 脚本是否真的存在并不重要
该函数将采用如下形式,
public bool IsUnixPathValid(string path)
{
return !path.IsEmptyOrNull()
&& path.StartsWith("/")
&& !path.ContainsCharacters(";', \"")
}
问题:是否存在可以执行此类操作的现有库?如果没有,最好的方法是什么,我应该注意哪些小细节(想想安全)。