2015-01-26 3 views
0

Может кто-нибудь объяснить мне, почему это проблема безопасности?Почему этот XSS, по словам Brakeman?

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

Я пытаюсь добавить простой элемент в свой проект, чтобы иметь возможность переключаться между языками. Я не хочу, чтобы эта частичная часть взаимодействовала с каждым контроллером или переключила пользователя на другую страницу или должна была знать все возможные действительные параметры.

ответ

1

Я сделал быстрый проход над источником, и я подозреваю, что один из перечисленных ниже запуска его:

  1. Вы звоните .to_s для первого аргумента link_to, в результате чего html_safe строки передаются в.
  2. Пользовательский ввод передается непосредственно на link_to, который, я считаю, будет ложным.

Вы можете копать дальше, выбирая the source for the link_to XSS tests in Brakeman.