ошибка, если вы передаете некорректную команду. Вместо этого он передаст его прямо в ядро, где ошибка будет исправлена ​​и будет отображаться как STDERR вместо необработанного исключения.

даю демон, который поможет мне управлять моими серверами. Webmin работает нормально, так же как и просто открывая оболочку для сервера, но я бы предпочел иметь возможность управлять серверными операциями из пользовательского интерфейса, а также предоставлять некоторые функциональные возможности конечным пользователям.

Демон заберет действия из очереди и выполнит их. Однако, поскольку я буду принимать входные данные от пользователей, я хочу убедиться, что им не разрешено вводить что-то опасное в команду привилегированной оболочки.

Вот фрагмент, который иллюстрирует мою проблему:

def perform
  system "usermod -p #{@options['shadow']} #{@options['username']}"
end

Суть, которая объясняет больше:https://gist.github.com/773292

Я не уверен, что для этого случая достаточно обычного экранирования и дезинфекции входных данных, и, будучи дизайнером, у меня нет опыта работы с безопасностью.Я знаю, что это то, что должно быть очевидно для меня, но это не так!

Как я могу гарантировать, что веб-приложение, которое будет создавать и сериализовать действия, не сможет передавать опасный текст в привилегированный процесс, который получает действия?

Спасибо за помощь
АРБ

Ответы на вопрос(5)

Ваш ответ на вопрос