gpt4 book ai didi

ruby-on-rails - 如何修复刹车手生成的 rails 中的跨站点脚本安全警告?

转载 作者:行者123 更新时间:2023-12-03 23:42:51 25 4
gpt4 key购买 nike

我在我的应用程序中使用了刹车手来生成扫描报告。它以高置信度生成了许多跨站点脚本安全警告。
其中之一是:

Unescaped parameter value rendered inline near line 47: render(text => "Unexpected EventType #{params["EventType"]}", { :status => 406 })
app/controllers/event_controller.rb.
在下面显示的 Controller 方法中,第一行显示上述警告。
我在 link 中看到过但无法修复。请帮忙。
这是 Controller 代码:
  def purchase

render :status => 406, :text => "Unexpected EventType #{params['EventType']}" and return unless params['EventType'] == 'purchased'
@account = Account.new
render :status => 406, :text => "Could not find Plan #{params['Plan']}" and return unless @account.plan = @plan = SubscriptionPlan.find_by_name(params['Plan'])

end

最佳答案

使用 render :text => ... 时Rails 仍然将输出呈现为 HTML(内容类型为 text/html)。由于您的代码将用户输入(params['EventType'])直接放在输出中,因此这是一个典型的跨站点脚本漏洞。

你有两个选择。使用render :plain代替(它将使用内容类型 text/plain 而不是 HTML 呈现):

render :status => 406, :plain => "Unexpected EventType #{params['EventType']}"

或转义用户输入:
render :status => 406, :text => "Unexpected EventType #{ERB::Util.html_escape(params['EventType'])}"

关于ruby-on-rails - 如何修复刹车手生成的 rails 中的跨站点脚本安全警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com