Я пишу приложение на основе сервлета, в котором мне нужно предоставить систему обмена сообщениями. Я спешу, поэтому я выбираю CKEditor, чтобы предоставить возможности редактирования, и в настоящее время вставляю сгенерированный html непосредственно на веб-страницу отображение всех сообщений (сообщения хранятся в базе данных MySQL, fyi). CKEditor уже фильтрует HTML на основе белого списка, но пользователь все равно может вводить вредоносный код с запросом POST, поэтому этого недостаточно.
Хорошая библиотека уже существует для предотвращения атак XSS путем фильтрации тэгов HTML, но она написана на PHP: HTML очиститель
Итак, существует аналогичная зрелая библиотека, которая может использоваться в Java? Простая замена строки, основанная на белом списке, кажется недостаточной, поскольку я хотел бы также фильтровать неверные теги (что могло бы изменить дизайн страницы, на которой отображается сообщение).
Если этого не происходит, тогда как мне следует продолжить? Парсер XML выглядит излишним.
Примечание. В SO есть много вопросов об этом, но все ответы относятся к фильтру ВСЕ HTML-теги: я хочу сохранять допустимые теги форматирования.