У меня есть сайт, написанный Rails3.В моей модели постов есть текстовый столбец с названием «контент».В панели сообщений HTML-форма устанавливает столбец «content» в поле textarea с помощью tinymce.На первой странице, из-за использования tinymce, код post.html.erb должен быть реализован с помощью необработанного метода, такого как <%= raw @post.content %>
.
Хорошо, теперь, если я закрываю javascript браузера, эта текстовая область может печататься без tinymce, ивозможно пользователь введет любой xss как <script>alert('xss');</script>
.Мой фронт покажет это окно с предупреждением.
Я пытаюсь sanitize(@post.content)
в posts_controller, но метод sanitize будет фильтровать стиль tinymce друг с другом.Например, <span style='color:red;'>foo</span>
станет <span>foo</span>
.
Мой вопрос: как фильтровать ввод xss и резервировать стиль tinymce одновременно?