【发布时间】:2019-06-24 02:49:06
【问题描述】:
我有一个基于 Ruby on Rails 构建的 API,并且我不在 ActiveRecord 方法中使用字符串插值,例如 where、find_by,.... 这会阻止我的代码执行任何 SQL 注入并处理 SQL 注入作为字符串。
但是,我想找到一种在处理请求之前验证参数的方法。如果参数中的任何字符串值包含 SQL 注入,我想立即拒绝该请求。
我一直在寻找可以帮助进行 SQL 注入输入验证的 gem,但我找不到任何东西。我可以使用 REGEX 通过在字符串中查找任何 select 和 from 关键字来验证字符串值,但这不是一个很好的方法,因为如果字符串值(注释)包含像 "We select this item from the collection A" 这样的文本,这如果我对select 和from 关键字使用正则表达式,值可能会被拒绝。
我可以验证 SQL 注入输入的最佳方法是什么?谢谢!如果这篇文章恰好是重复的,请给我类似文章的链接,我会删除这篇文章。
【问题讨论】:
标签: sql ruby-on-rails postgresql validation sql-injection