跟踪活动记录的细微差别并防止注入攻击
当我进行查询时...
使用 find_by 助手与不使用 find_by 助手之间有什么有意义的区别吗?
在做这样的事情时,我是否忽略了选择较短的代码行的任何原因?
Booking.find_all_by_user_id(1, :joins => :confirmation)
Booking.find(:all, :joins => :confirmation, :conditions => [ 'bookings.user_id = ?', 1] )
When I make a query...
is there any meaningful difference between using a find_by helper or not?
Are there any reasons I'm overlooking for opting for shorter lines of code when doing things like this?
Booking.find_all_by_user_id(1, :joins => :confirmation)
Booking.find(:all, :joins => :confirmation, :conditions => [ 'bookings.user_id = ?', 1] )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,关于注入攻击。
find_by
方法应该是安全的。然而,唯一的致命错误是在使用find
方法时直接在conditions
参数中使用用户输入,例如:当然正确的方法是您这样做的方式,并且 < code>find 方法将过滤内容。
No, regarding injection attacks.
The
find_by
method should be safe. However the only killer mistake is to use user input directly inside yourconditions
param when usingfind
method, like doing:Of course the right one is the way you did it and
find
method will filter things up.您要查找的内容在这里:
http://guides.rubyonrails.org/ security.html#sql-injection
和
http://guides.rubyonrails。 org/security.html#mass-assignment
请务必仔细阅读这两部分。
What you're looking for is in here:
http://guides.rubyonrails.org/security.html#sql-injection
AND
http://guides.rubyonrails.org/security.html#mass-assignment
Be sure to read both carefully.