Как отправить аргумент надежно с помощью класса Процесса?

Я использую Систему. Диагностика. Процесс для выполнения команды svn из консольного приложения окон. Это - конфигурация процесса:

svn.StartInfo.FileName = svnPath;
svn.StartInfo.Arguments = string.Format("copy {0}/trunk/ {0}/tags/{1} -r head -q --username {3} --password {4} -m \"{2}\"", basePathToRepo, tagName, message, svnUserName, svnPassword);
svn.StartInfo.UseShellExecute = false;
svn.Start();
svn.WaitForExit();

Моя проблема состоит в том, что те аргументы, которые включают svn учетные данные, отправляются (я предполагаю) небезопасным способом.

Существует ли способ отправить эти аргументы в безопасном способе использовать класс Процесса?

Спасибо!

1
задан Oded 27 April 2010 в 16:58
поделиться

2 ответа

Используется стандартный механизм командной строки, который будет таким же, как и любой другой метод. Не существует "безопасного" способа отправки аргумента командной строки программе, поскольку это просто стандартный процесс.

При этом будет доступен только локально, поскольку вы уже запускаете его в учетной записи локального пользователя. Это так же безопасно, как если бы пользователь вводил это в окне командной строки ...

1
ответ дан 3 September 2019 в 00:59
поделиться

куда отправить? они передаются из вашего кода в WinApi. это операция в памяти, она достаточно безопасна.

1
ответ дан 3 September 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: