首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails: Sql注入问题?

Rails: Sql注入问题?
EN

Stack Overflow用户
提问于 2013-03-18 13:48:06
回答 1查看 74关注 0票数 1

我的控制器使用以下命令查找用户:

代码语言:javascript
复制
@user = User.find_by_identifier!(params[:id])

在我的用户模型中,我有

代码语言:javascript
复制
class User < ActiveRecord::Base

      def to_param
        identifier
      end

private 

  def create_identifier
    SecureRandom.urlsafe_base64(9)
  end
end

问:这对于SQL注入点是安全的吗?以及如何做到这一点,因为尽管我阅读了各种文章,但对SQL注入一无所知。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-18 13:55:23

在我自己的控制台上进行的一个快速实验表明,find_by_identifier!对于SQL注入是安全的。

代码语言:javascript
复制
irb(main):005:0> User.find_by_email! "i am sneaky '; drop table woot;"
  User Load (0.8ms)  SELECT "users".* FROM "users" WHERE "users"."email" = 'derp ''; drop table woot;' LIMIT 1

请注意,生成的SQL查询如何转义恶意的单引号。

我认为你模型中的to_paramcreate_identifier是无关紧要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15470457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档