所以在有人打败我之前,我知道在调用Arel方法时如何做到这一点。我很好奇的是,如果有一种方法可以简单地获得用户输入的sql注入安全版本,所以我手头有它,可以用它做我想做的事。
理想情况下,我会对以下内容感兴趣:
safe_input_data = Person.sql_safe params[:user_data_for_arel_manipulation]
我昨晚花了一些时间寻找可以做到这一点但却一无所获的东西。我读了所有的ActiveRecord方法,但是文档中有杰克。简单地通过方法名称和那些方法的来源我没有看到任何东西。我希望有人知道某事。
答案 0 :(得分:4)
这将为您提供一个sql安全字符串:
safe_input_data = Person.sanitize(params[:user_data_for_arel_manipulation])
请注意,它还会为您的字符串添加单引号!
因此"my unsafe input"
变为"'my unsafe input'"
。