Как я могу санировать ввод Эрланга? - PullRequest
2 голосов
/ 10 июля 2009

Сегодня я играл с оболочкой erlang и заметил, что могу делать командные инъекции, что-то вроде следующего:

io:get_chars("Cmd> ", 3).
Cmd> Dud List=[3,4,5]. io:get_line("I just took over your shell!").

Есть ли способ санировать входные данные функции get_chars, так что это невозможно?

1 Ответ

5 голосов
/ 14 июля 2009

вы на самом деле не делаете командные инъекции. io:get_chars("Cmd> ", 3). просто выполняет свою работу: читает 3 символа из входного потока. все, что введено после них, обрабатывается оболочкой erlang как часть обычного цикла read-eval-print.

...