вторник, 22 февраля 2011 г.

Rails 3 vs Rails 2. Защита от XSS атак

В отличии от Rails 2, где для защиты от XSS атак нужно было явно экранировать переменные в шаблонах с помощью h() метода, в Rails 3 наоборотавтоматически, всегда включен режим экранирования. Если необходимо явным образом отключить экранирование - используется функция raw.

Для того чтобы явно проверить/установить строке атрибут "безопасна", используются соответственно методы html_safe? и html_safe. Но в таком случае, обязательно следите сами за данными пришедшими с форм (тут уже используем h() ). Такие инструменты могут понадобится при создании методов хелперов.

Rails 2:
<%=h @title %>
Rails 3:
<%=@title %>
<%=raw @title %>

Комментариев нет:

Отправить комментарий