【发布时间】:2015-11-05 05:32:00
【问题描述】:
为了防止sql注入,我这样做了:
string = "105;' DROP TABLE Suppliers"
new_string = string.gsub("'", %q(\'))
p new_string
=> "105; DROP TABLE Suppliers DROP TABLE Suppliers"
这里为什么输出DROP TABLE Suppliers两次?
【问题讨论】:
-
这个和Replace “&” to “\&” in Ruby seems impossible?基本一样吧?答案至少是一样的。
-
为什么不使用准备好的语句支持的参数化查询?
-
@Gumbo 因为我的特殊项目,我不能使用任何参数化的方法。
-
@scho:您使用的是什么数据库/驱动程序?可能有一种方法可以在不使用参数的情况下调用其转义功能。
-
@mwp Google BigQuery
标签: ruby sql-injection