我使用的是Ruby system
方法。
system("/bin/wget", "-pk", "-nd", "-P", "/public/download", "#{URL}")
用户填写URL
。
我应该针对URL
在服务器上执行哪些检查以确保用户没有做恶意的事情?
答案 0 :(得分:0)
我的理解是,在你调用它的方式中,你不必担心有人过来说; rm -rf *
。但是,如果wget对URL做了特殊处理,那么您可能会这样做。例如,curl允许您在URL本身中执行一些正则表达式/范围/通配符。
您可以考虑通过URI.parse
运行网址并抓住URI::InvalidURIError
。