使用正确的参数转义从ruby调用shell命令

时间:2011-05-10 10:33:22

标签: ruby shell escaping

我想安全地执行以下操作

system "echo '#{params[:message]}' > /dev/log"

调用本机命令时转义参数的正确方法是什么?

(示例邪恶输入:'; rm -Rf *; echo 'I won.

1 个答案:

答案 0 :(得分:16)

如果你这样做

system "echo", params[:message]

然后第二个参数将作为参数发送,它不会被执行。