Rails - инъекции JavaScript - PullRequest
       1

Rails - инъекции JavaScript

0 голосов
/ 05 февраля 2012

Я использую Rails 3 и Ruby 1.9.2.Я делаю что-то особенное, когда показываю содержание своего поста, я просто делаю

<%=@post.content%>

Когда я добавляю

"<script language='javascript'>alert('test');</script>" 

в форму сообщения, конечно, этовыполняет предупреждение javascript!

Я пытался добавить html_safe как перед сохранением, так и перед отображением, но это ничего не исправило.

Если мне нужно будет добавить какой-либо код безопасности, у меня будетдобавить его перед сохранением поста или перед его отображением?Я слышал, что rails 3 делал это сам, поэтому я не слишком беспокоился о безопасности, но, думаю, все же есть некоторые основные вещи, с которыми нужно быть осторожными.

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Rails 3 довольно строго избегает всего, что вы представляете себе, но в Rails 2 и более ранних версиях это была ваша обязанность сделать это.Вы должны избежать всего, используя вспомогательный метод h:

<%= h(value) %>

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

1 голос
/ 06 февраля 2012

Вы используете Rails 3?Материал javascript должен автоматически экранироваться.

Но для получения дополнительной информации о предотвращении XSS я бы просто посмотрел на RailsCasts Райана Бейтса.

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