Tag: 制动器

Ruby On Rails – 这些Brakeman警告意味着什么?

我正在使用brakeman gem扫描我的应用程序。 扫描应用程序后,我收到以下警告: #Security warnings Method | Warning Type | Message —————————————————— show | Unscoped Find | Unscoped call to PatientMessage#find near line 27: Message.find(+params[:id]+) —————————————————— #Controller warnings: Controller | Warning Type | Message —————————————————————————- ApplicationController | Cross-Site Request Forgery | ‘protect_from_forgery’ should be called in ApplicationController 有人可以帮助弄清楚这些警告意味着什么吗?

Brakeman Error – 未转义的模型属性

我得到了很多错误,如下所示 Unescaped model attribute near line 20: show_errors(Objective.new(objective_params), :name) 扩展视图 这是我的代码 module ApplicationHelper # Error Helper for Form def show_errors(object, field_name) if object.errors.any? && object.errors.messages[field_name][0].present? “” + object.errors.messages[field_name][0] + “” else return “” end end end

rails brakeman命令sql注入

从参数构造订单方法时,如何避免Rails中的制动器警告? def index @methods = [:name, :manager, :deadline] assignments = Assignment.order(sort_column(@methods) + ” ” + sort_direction).received(current_user).root end def sort_column(column_names) column_names.each do |column| return column if column == params[:sort] end return ‘updated_at’ end def sort_direction params[:direction] == ‘asc’ ? ‘asc’ : ‘desc’ end 我正在努力避免将用户生成的代码直接放入查询中,但制动员仍会警告(中等信度)这是一个SQL注入漏洞。 这是假阳性吗? 如果没有,我该如何更正漏洞? 如果是这样,有没有一种简单的方法可以避免误报?

Rails Brakeman警告:动态渲染路径误报?

我刚刚开始使用Rails,所以我正在使用Brakeman来了解我的新手代码中的潜在漏洞。 它在我的show.js.erb文件中抛出了一个关于以下代码的高可信度“动态渲染路径”警告: $(‘#media-fragment’).html(”); 我实际上预计这是一个问题,所以毫不奇怪。 所以我把它改成了以下内容: # controller: def show if legal_partial? @allowed_partial = params[:partial] else raise StandardError, “unexpected partial request: #{params[:partial]}” end end private def legal_partial? %w(screenshots video updates).include? params[:partial] end # … # show.js.erb $(‘#media-fragment’).html(”); 虽然我相信代码现在是安全的,但Brakeman仍对此不满意。 是否有更惯用的方法来控制基于用户输入的部分渲染?