Я хочу позволить пользователю веб-приложения ввести URL-адрес, а затем передать этот URL-адрес в curl. Я бы лучше использовал curl, чем Net :: HTTP или open-uri. Но это создает угрозу безопасности. Какой лучший способ проверить строку URL-адреса и предотвратить любые инъекционные атаки?
Я думаю просто использовать регулярное выражение, подобное этому, для проверки на инъекционную атаку:
raise "possible injection attack" if url =~ /[\s']/
и если проверка прошла успешно, просто вызовите curl следующим образом:
html = `curl '#{url}'`
Это достаточно безопасно?