Решить проблему XSS на ruby ​​на рельсах

Пример: если мы храним <script>alert(299792458)</script> в качестве ввода имени принимается и сохраняется значение.

Когда мы отображаем данные, появляется предупреждение. Я понимаю, что это межсайтовый скриптинг (XSS). Я прошел http://guides.rubyonrails.org/security.html, но я не смог понять.

Все, что мне нужно сделать, это убедиться, что предупреждение не произойдет. Итак, какой вариант самый лучший. Санируйте имя при сохранении (или) используйте html_safe при его отображении.

1 ответ

Я использовал эту функцию, и она работала, как и ожидалось.

CGI::escapeHTML(user.firstname)

На странице дисплея это показывало <script>alert("123");</script> но скрипт не запустился, потому что он избежал тегов.

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