ruby-on-rails – 安全地转义字符串用于SQL片段,用于连接,限制,
发布时间:2020-12-16 19:46:37 所属栏目:百科 来源:网络整理
导读:在 Ruby on Rails中,对于条件,很容易进行防SQL注入查询: :conditions = ["title = ?",title] 标题来自外部,从Web表单或类似的东西. 但是如果您在查询的其他部分使用SQL片段,如下所示: :select = ""#{title}" AS title" # I do have something like this
在
Ruby on Rails中,对于条件,很容易进行防SQL注入查询:
:conditions => ["title = ?",title] 标题来自外部,从Web表单或类似的东西. 但是如果您在查询的其他部分使用SQL片段,如下所示: :select => ""#{title}" AS title" # I do have something like this in one instance :joins => ["LEFT JOIN blah AS blah2 ON blah2.title = "#{title}""] 有没有办法妥善逃脱这些字符串? 解决方法
通常在Rails中,连接作为代表id连接的符号(或作为二阶连接的散列)完成,您可以使用条件将其过滤.如果需要这样做,可以使用ActiveRecord的
sanitize_sql_array 来清理SQL字符串,如下所示:
sanitize_sql_array(["LEFT JOIN blah AS blah2 ON blah2.title = ?",@blah.title]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |