Когда использовать метод sanitize в файлах просмотра?
Я использую Ruby on Rails 3.0.9, и я хотел бы знать, когда я МОГУ, ДОЛЖЕН и ДОЛЖЕН использовать sanitize(...)
метод по соображениям безопасности.
Пример использования может быть:
sanitize(flash[:notice])
1 ответ
Вы должны использовать его всякий раз, когда вы отображаете данные, которые были введены пользователем, то есть им нельзя доверять.
Например, в приложении чата пользователь может писать сообщения, которые затем отображаются на странице. В этом случае важно санировать входные данные.
Если вы не очистите входные данные, пользователь может добавить HTML и Javascript-код на вашу страницу, что повлияет на всех других пользователей, просматривающих ту же страницу. Таким образом, злоумышленник может получить полный контроль над страницей.
С другой стороны, нет необходимости очищать данные, созданные вашим приложением, т.е. в вашем примере (sanitize(flash[:notice])
) не обязательно. (Предполагая, что вы используете flash
для отображения сообщений о состоянии, созданных вашим приложением)