标签: ruby shell escaping
我想安全地执行以下操作
system "echo '#{params[:message]}' > /dev/log"
调用本机命令时转义参数的正确方法是什么?
(示例邪恶输入:'; rm -Rf *; echo 'I won.)
'; rm -Rf *; echo 'I won.
答案 0 :(得分:16)
如果你这样做
system "echo", params[:message]
然后第二个参数将作为参数发送,它不会被执行。