Когда использовать метод sanitize в файлах просмотра?

Я использую Ruby on Rails 3.0.9, и я хотел бы знать, когда я МОГУ, ДОЛЖЕН и ДОЛЖЕН использовать sanitize(...) метод по соображениям безопасности.

Пример использования может быть:

sanitize(flash[:notice])

1 ответ

Решение

Вы должны использовать его всякий раз, когда вы отображаете данные, которые были введены пользователем, то есть им нельзя доверять.

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

Если вы не очистите входные данные, пользователь может добавить HTML и Javascript-код на вашу страницу, что повлияет на всех других пользователей, просматривающих ту же страницу. Таким образом, злоумышленник может получить полный контроль над страницей.

С другой стороны, нет необходимости очищать данные, созданные вашим приложением, т.е. в вашем примере (sanitize(flash[:notice])) не обязательно. (Предполагая, что вы используете flash для отображения сообщений о состоянии, созданных вашим приложением)

Другие вопросы по тегам