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_tohtml_safe文字列が渡されます。
  2. ユーザー入力が に直接渡されていますがlink_to、これは誤検知だと思います。

Brakemanの XSS テストのソースをlink_to自分でチェックアウトすることで、さらに掘り下げることができます。

于 2015-01-26T20:46:02.380 に答える