ошибка, если вы передаете некорректную команду. Вместо этого он передаст его прямо в ядро, где ошибка будет исправлена и будет отображаться как STDERR вместо необработанного исключения.
даю демон, который поможет мне управлять моими серверами. Webmin работает нормально, так же как и просто открывая оболочку для сервера, но я бы предпочел иметь возможность управлять серверными операциями из пользовательского интерфейса, а также предоставлять некоторые функциональные возможности конечным пользователям.
Демон заберет действия из очереди и выполнит их. Однако, поскольку я буду принимать входные данные от пользователей, я хочу убедиться, что им не разрешено вводить что-то опасное в команду привилегированной оболочки.
Вот фрагмент, который иллюстрирует мою проблему:
def perform
system "usermod -p #{@options['shadow']} #{@options['username']}"
end
Суть, которая объясняет больше:https://gist.github.com/773292
Я не уверен, что для этого случая достаточно обычного экранирования и дезинфекции входных данных, и, будучи дизайнером, у меня нет опыта работы с безопасностью.Я знаю, что это то, что должно быть очевидно для меня, но это не так!
Как я могу гарантировать, что веб-приложение, которое будет создавать и сериализовать действия, не сможет передавать опасный текст в привилегированный процесс, который получает действия?
Спасибо за помощь
АРБ