我試圖寫一個簡單的C#函數來驗證一個完整的路徑由用戶輸入的shell腳本,以避免幾件事情:如何驗證Unix路徑?
- 的路徑是正確的格式,沒有無效的符號,像空格或分號
- 沒有可疑的命令,例如
rm -rf /
- 路徑表示一個完整的路徑,也沒有親戚
- 如果腳本確實存在
功能將採取類似的形式並不重要,
public bool IsUnixPathValid(string path)
{
return !path.IsEmptyOrNull()
&& path.StartsWith("/")
&& !path.ContainsCharacters(";', \"")
}
問題:是否有現成的圖書館可以執行此類操作?如果不是,最好的辦法是什麼,我應該注意些什麼細節(想想安全)。
@Ramhound我正在尋找實際的實現,而是檢查Unix路徑時的策略和安全問題。 – rae1
@Ramhound用當前的實現更新了這個問題。 – rae1