Я ищу лучшие практики для выполнения строгой (белого списка) проверки/фильтрации HTML, отправленного пользователем.
Основная цель — отфильтровать XSS и подобные гадости, которые могут быть введены через веб-формы. Вторичная цель - ограничить поломку содержимого HTML, введенного нетехническими пользователями, например. через WYSIWYG-редактор с HTML-представлением.
Я рассматриваю возможность использования HTML Purifier или своего собственного с помощью синтаксического анализатора HTML DOM для выполнения такого процесса, как HTML(грязный )->DOM(грязный)->фильтр->DOM(чистый)->HTML(чистый).
Можете ли вы описать успехи этих или других более простых стратегий, которые также эффективны? Есть какие-то подводные камни, на которые стоит обратить внимание?