我想让 Web 应用程序的用户输入一个 URL,然后将该 URL 传递给 curl。我宁愿使用 curl 而不是 Net::HTTP 或 open-uri。但这会带来安全风险。检查 URL 字符串并防止任何注入攻击的最佳方法是什么?
我正在考虑使用这样的正则表达式来检查注入攻击:
raise "possible injection attack" if url =~ /[\s']/
如果检查成功,那么只需像这样调用 curl
html = `curl '#{url}'`
这足够安全吗?