1

我正在使用Ruby的system方法。

system("/bin/wget", "-pk", "-nd", "-P", "/public/download", "#{URL}")

whereURL由用户填写。

我应该在服务器上执行哪些检查URL以确保用户没有做恶意的事情?

4

1 回答 1

0

我的理解是,按照你所说的方式,你不必担心有人传入 say ; rm -rf *。但是,如果 wget 对 URL 做了任何特殊处理,您可能会这样做。例如,curl 允许您在 URL 本身中执行一些正则表达式/范围/通配符的内容。

您可以考虑通过URI.parse和 catch运行 URL URI::InvalidURIError

于 2012-11-13T22:48:52.637 回答