0

有人可以向我解释为什么这是一个安全问题吗?

= link_to new_locale.to_s, params.slice(:id, :reader_id, :screen_type).merge(locale: new_locale)

我正在尝试向我的项目添加一个简单的部分,以便能够在语言之间切换。我真的不希望这个部分必须与每个控制器交互或将用户切换到不同的页面或必须知道所有可能的有效参数。

4

1 回答 1

1

我快速浏览了源代码,我怀疑以下其中一项触发了它:

  1. 您正在调用.to_s的第一个参数link_to,从而导致html_safe传入一个字符串。
  2. 用户输入直接传递给link_to,我认为这是误报。

您可以通过自己在 Brakeman 中查看 XSS 测试的源代码来link_to进一步挖掘。

于 2015-01-26T20:46:02.380 回答