【发布时间】:2015-07-25 06:40:15
【问题描述】:
我正在尝试为 Rails 实现自动完成功能。我的代码中有以下内容 -
Location.where("name like ?", "%#{params[:location]}%")
恐怕这会导致 SQL 注入。类似于以下内容 -
SELECT * FROM Locations WHERE (name LIKE '%green%') OR 1=1--%'
当params[:location] 是这样的green%') OR 1=1--
有什么方法可以避免使用 SQLi 在 Rails 中进行基于子字符串的搜索?
【问题讨论】:
-
你试过了吗?这种形式不应该防止这种事情吗?我不记得了。
标签: ruby-on-rails ruby-on-rails-4 sql-injection