Санитарная обработка всегда необходима.
Я большой поклонник использования белых списков для тегов HTML, чтобы вы анализировали данные, которые собираетесь хранить, и просто удаляете теги HTML, которых нет в этом белом списке. Таким образом, при желании вы можете запретить пользователям вставлять определенные теги, такие как <script>
или <object>
, с непредсказуемым или неясным поведением.
Предположим, один из ваших пользователей CMS использует очень тупой пароль, а кто-то
остальное получает доступ через приложение. Фильтрация содержимого HTML будет
запретить самозванцу вставлять вредоносный междоменный JavaScript
собирать события клавиатуры (которые могут выявить возможные пароли в
формы входа) и т. д.
Кроме того, всегда полезно проверять HTML-код, который вы собираетесь хранить, поскольку любой недействительный HTML-код может повредить разметку вашего сайта и даже нарушить отображение в некоторых браузерах.
Выполнение этих проверок перед сохранением данных в базе данных может быть недостаточным, поскольку данные могут быть повреждены прямым доступом к базе данных, поэтому перед отображением содержимого выполните то, что сказал @RodrigoFerreira.