Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Rubyのsystem方法を使用しています。
system
system("/bin/wget", "-pk", "-nd", "-P", "/public/download", "#{URL}")
はURLユーザーが入力します。
URL
URLユーザーが悪意のあることをしていないことを確認するために、サーバーでどのようなチェックを実行する必要がありますか?
私の理解では、あなたがそれを呼んだ方法では、誰かが say を渡すことを心配する必要はありません; rm -rf *。ただし、wget が URL に対して特別な処理を行う場合は、可能性があります。たとえば、curl を使用すると、URL 自体でいくつかの正規表現/範囲/ワイルドカードを実行できます。
; rm -rf *
URI.parseと catchを介して URL を実行することを検討してくださいURI::InvalidURIError。
URI.parse
URI::InvalidURIError