А раньше так и фильтровались — надо нам отфильтровать, скажем, some_text, пишем: <%=h some_text %>. Просто теперь это делается автоматически по умолчанию всегда (т.е. h писать не надо) + учитываются любые возникающие в рантайме конкатенации
вот я поставил rails_xss(бэкпорт)
Какого, извиняюсь, оно не фильтрует «link_to forum.title, ...»? Что вообще за подход — фильтровать шаблон? Почему бы не внедрить данный функционал в модель, где ему самое место? И вызывать не <%= raw forum.title %>, <%= forum.title.raw %>? Было бы более красиво и правильно.
P.S — использую рельсы давно, но это полный п.
я хочу чтобы ВСЕ данные передаваемые из БД, если не указано иначе, были отфильтрованы. А то получается:
1) <%= forum.title %> — xss фильтруется;
2) <%= link_to forum.title, topics_path(forum) %> — нет;
3) <%= link_to h(forum.title), topics_path(forum) %> — фильтруется.
НЛО прилетело и опубликовало эту надпись здесьНЛО прилетело и опубликовало эту надпись здесь
Защита от XSS в Rails 3