如何清理Erlang输入?

时间:2009-07-10 19:06:17

标签: erlang io sanitization

我今天正在玩erlang shell并注意到我可以进行命令注射,如下所示:

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

有没有办法清理get_chars函数的输入,所以这是不可能的?

1 个答案:

答案 0 :(得分:5)

你并没有真正进行命令注射。 io:get_chars("Cmd> ", 3).只是做它的工作:从输入流中读取3个字符。 在这些之后输入的所有内容都由erlang shell作为普通read-eval-print循环的一部分进行处理。