Новый метод .setHTML() в JavaScript — часть Sanitizer API — может стать практически прямой заменой .innerHTML(), при этом делая сайты значительно безопаснее с точки зрения XSS-атак.
Это, на мой взгляд, очень удачный нейминг функции от Mozilla. Они так и представили её:
Goodbye innerHTML, Hello setHTML: Stronger XSS Protection in Firefox 148
Идея простая: привычный способ вставки HTML через innerHTML часто становится источником XSS-уязвимостей. setHTML же использует встроенную систему санитизации, которая автоматически удаляет потенциально опасные элементы и атрибуты.
Если хотите глубже разобраться в теме, послушайте выпуск ShopTalk, где Frederik Braun подробно рассказывает об этом подходе:
Кроме того, он опубликовал отдельный пост, где показывает рецепт, позволяющий настроить систему так, чтобы в проекте использовался только setHTML. Такой подход практически устраняет все риски DOM-XSS.
Теги: javascript, sanitizer, xss