Elena0394
@Elena0394

Как вставлять разметку в js код, чтоб не было уязвимости XSS?

Мне нужно вставить такую разметку в js код
innerHTML += `
  <div class="song">
    <h4 class="song__artist">${artist.value}</h4>
    <p class="song__title">${song.value}</p>
    <button class="song__like"></button>
  </div>`;

чтоб избежать атаки XSS, могу убрать шаблонную строку и заменить на createElement. Код получится громоздким. Как использовать шаблонную строку, для вставки html разметки?
  • Вопрос задан
  • 921 просмотр
Пригласить эксперта
Ответы на вопрос 2
Используйте createElement. У innerHTML кроме XSS хватает проблем.
Ответ написан
@vladdimir
Верстальщик
Если ваши данные artist.value и song.value контролируемы и вы им доверяете - получаете с бэка или храните на фронте, и никогда они не приходят от пользователя через формы, то делайте как хотите.
Если нет, createElement это один из вариантов. Если он вам кажется громоздким, лишнее всегда можно спрятать в функцию.
Можно хранить шаблоны прям в html, в теге template, брать оттуда, подставлять данные в нужные места и отрисовывать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы