2009-07-10 5 views
2

Я играл вокруг с Erlang оболочки сегодня и заметил, что я мог бы сделать команду инъекции, что-то вроде следующего:Как я могу дезинфицировать вход Erlang?

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

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

ответ

5

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