いくつかのことを避けるために、ユーザーが入力したシェルスクリプトへの完全なUnixパスを検証する簡単なC#関数を作成しようとしています。
- パスは正しい形式であり、スペースやセミコロンなどの無効な記号はありません
- 疑わしいコマンドはありません。
rm -rf /
- パスはフルパスを表し、親戚はありません
- スクリプトが実際に存在するかどうかは関係ありません
関数は次のような形式になります。
public bool IsUnixPathValid(string path)
{
return !path.IsEmptyOrNull()
&& path.StartsWith("/")
&& !path.ContainsCharacters(";', \"")
}
質問:このようなことを実行する既存のライブラリはありますか?そうでない場合は、最善のアプローチは何であり、どのような詳細に注意する必要がありますか(安全だと考えてください)。