我在Rails 4.2的应用程序中使用了刹车器来进行安全扫描。它给了报告与信心,高与预警类型为危险发送。以下是我面临问题的控制器方法:
class AccountsController < ApplicationController
def new
@account_name = Rails.application.config.custom.accounts.send(params[:account_name]).name
@account_logo = Rails.application.config.custom.accounts.send(params[:account_name]).signup_logo
rescue
nil
end
end
请帮我。
通过用户输入直接调用方法,即通过params属性是危险的安全威胁,通过解决此问题,我们必须先在调用send之前将参数列入白名单。
class AccountsController < ApplicationController
def new
method = params[:account_name] || :default_method
if ["method1", "method2", "method3"].include?(method)
@account_name = Rails.application.config.custom.accounts.send(method).name
@account_logo = Rails.application.config.custom.accounts.send(method).signup_logo
end
rescue
nil
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句