加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读