Customer.find(:all, :select => 'id', :order => 'updated_at DESC', :readonly => true, :conditions => { :status_id => Customer.id_for_status(params[:id].to_sym) }, :offset => offset, :limit => 30).collect(&:id)
以上是我的查询,因为我收到了警告
Symbol conversion from unsafe string (parameter value) near line 33: params[:id].to_sym
这是拒绝服务的警告。任何人都知道如何解决此警告?
提前致谢
答案 0 :(得分:3)
这里的问题是 params [:id] .to_sym
当要转换为符号的字符串是打开集时,您不应将它们转换为符号。创建的每个符号都不会被垃圾收集,并且可能会造成潜在的内存泄漏,使您的系统容易受到Dos攻击。
Ruby 2.2中解决了问题。但仍然 - 相当白色列出任何可以转换成符号的东西。