Ruby on Railsアプリケーションでは、X仮想フレームバッファーと他のプログラムを使ってWebから画像を取得しています。xvfb-run --server-args = -screen 0 1024x768x24/my/C++/app#{user_provided_url}Rubyシステムコールを使用しているときにユーザ入力を適切に害する方法は何ですか?
この呼び出しを行うための最良の方法は、ユーザーの入力による最大限の安全性?
Ruby on Railsアプリケーションでは、X仮想フレームバッファーと他のプログラムを使ってWebから画像を取得しています。xvfb-run --server-args = -screen 0 1024x768x24/my/C++/app#{user_provided_url}Rubyシステムコールを使用しているときにユーザ入力を適切に害する方法は何ですか?
この呼び出しを行うための最良の方法は、ユーザーの入力による最大限の安全性?
おそらく、この入力をレールでサニタイズする必要はありません。 URLであり、文字列形式であれば、既に適切にエスケープされた文字がURLとしてNet :: HTTP呼び出しに渡されます。つまり、URLが有効であることを確認する正規表現を書くことができます。あなたはまた、URLが解析可能であることを確認するために、次の手順を実行できます。
uri = URI.parse(user_provided_url)
それは、関連する部品だためにあなたは、オブジェクトを照会することができます
uri.path uri.host uri.port
ありがとう、これは私が必要なものです! –
たぶん私は間違っているんだけど、なぜ指定された文字列が実際にはURL(URI::parse)であることを確認し、一重引用符で囲み、その中に現れる一重引用符( ')文字をエスケープしますか?
Devin - あなたはパンの答えが正しいと言った。あなたは答えとしてそれを受け入れるべきです。 –