Что на самом деле делает h ()? - PullRequest
0 голосов
/ 02 января 2011

Я знаю, что это опасность межсайтового скриптинга. Но кто-нибудь может объяснить подробно?

Ответы [ 2 ]

4 голосов
/ 02 января 2011

Экранирует html-сущности в данных, которые будут отображаться. h () - псевдоним для html_escape ().

http://apidock.com/rails/ERB/Util/html_escape

1 голос
/ 02 января 2011

Оператор h () - это способ предотвратить межсайтовый скриптинг, который является уязвимостью, которой могут подвергаться сайты при отображении данных, которые когда-то вводили пользователи. H () был необходим для Rails 2.x, но он был установлен по умолчанию в Rails 3, поэтому, если вы используете Rails 3, вам вообще не нужно использовать h ().

Вот некоторые подробности от Райана Бейтса и Аскикаста:

http://asciicasts.com/episodes/204-xss-protection-in-rails-3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...