Вернуться к статьям

HTML Sanitizer API: браузер наконец-то сам почистит ваш мусор, но вы всё равно будете писать регулярки

8 мая 2026
2 мин чтения
HTML Sanitizer API: браузер наконец-то сам почистит ваш мусор, но вы всё равно будете писать регулярки

В браузеры завезли нативный санитайзер — теперь можно не бояться XSS, но старые привычки умрут не скоро.

Наконец-то свершилось: W3C решил, что хватит пилить велосипеды на коленке, и анонсировал HTML Sanitizer API. Теперь браузер сам будет выкидывать опасные теги из пользовательского контента, а мы — меньше плакать по ночам из-за XSS-уязвимостей.

Что это вообще такое?

По сути, это встроенный в браузер метод sanitize(), который на вход принимает строку с HTML, а на выходе даёт безопасный DOM. Никаких больше DOMPurify с его 50 КБ минифицированного кода — теперь всё из коробки. Правда, пока API только в статусе черновика, и Chrome уже начал эксперименты, а Firefox и Safari традиционно молчат в тряпочку.

Как это работает:

  1. Вы создаёте экземпляр Sanitizer с настройками — какие теги резать, какие атрибуты банить.
  2. Вызываете sanitize(input) — и получаете чистый DocumentFragment.
  3. Вставляете в DOM без страха, что кто-то уведёт куки.

Звучит как мечта фронтендера, да? Но есть нюанс: старые браузеры не умрут завтра, а значит, полифилы и старый добрый innerHTML с фильтрацией останутся с нами ещё лет пять. Плюс сам API пока сырой — например, нельзя задать свои правила для CSP.

А что с производительностью?

По замерам авторов спецификации, нативный санитайзер работает в 2–5 раз быстрее, чем DOMPurify, потому что не таскает за собой парсер на JavaScript. Для Single Page Application с кучей динамического контента это может быть существенно — меньше дёрганий сборщика мусора, больше счастья пользователя.

Комментарий студии METABYTE: Мы, конечно, рады, что браузеры наконец-то взялись за ум, но пока API дойдёт до стабильного статуса, наши разработчики успеют написать ещё пару десятков тысяч строк кода на React. Хорошо, что мы уже используем DOMPurify — привычка, от которой не хочется отказываться, даже если браузер подсуетился.

HTML Sanitizer API: браузерный санитайзер для безопасности | METABYTE — METABYTE