我正在阅读 Rails 指南中有关 SQL 注入攻击的内容,想知道以下行是否容易受到 SQL 注入攻击:
accounts.where("lower(name) LIKE '%#{params[:query].downcase}%'")
如果我正确阅读并理解了指南,用户可以做类似的事情吗
`'\''; DROP TABLE users;`
那会让我的桌子掉下来吗?
- - - 编辑 - - -
这些示例相同:
Account.where(id: account_id).first
current_user.actions.where(id: params[:clear_action_reminder]).first
edits.where.not(account_id: non_human_ids)
Rating.where(project_id: @project.id, account_id: current_user.id).first_or_initialize
这些当然是特定于应用程序的查询,但是因为查询中没有?
,所以这些都可能是灾难性的吗?