Защита от XSS, простая задача

250
29 октября 2021, 23:50

Здрасте, вот есть такое задание, уже пол ночи сижу, не могу понять как это сделать, просто еще не проходили этот материал, но задание уже дали. Помогите пожалуйста.

Ваша задача: обезопасить свою страницу от внедрения вредоносного кода с помощью функции валидации testUserText функция должна вывести на страницу текст пользователя безопасным способом т.е. текст должен быть выведен "as is" ( как есть ), но код не должен быть выполнен

function testUserText ( userText ) {
      return userText
}
function insertUserText ( userText ) {
      var x = document.createElement ( 'div' )
      x.innerHTML = testUserText ( userText )
      document.body.appendChild ( x )
}
insertUserText (`<svg/onload='document.write("Looser");
                  document.body.style.backgroundColor="black";
                  document.body.style.color="red";
                  document.body.style.fontSize="50px";
                  document.body.style.fontWeight="bold";
                  document.body.style.textAlign="center";
                  document.body.style.paddingTop="45%";'>`)
Answer 1

Вот таким будет ответ на мой вопрос, разобрали этот момент на занятии.

function testUserText ( userText ) {
      return userText.split("<").join("&lt;")
}
function insertUserText ( userText ) {
      var x = document.createElement ( 'div' )
      x.innerHTML = testUserText ( userText )
      document.body.appendChild ( x )
}
insertUserText (`<svg/onload='document.write("Looser");
                  document.body.style.backgroundColor="black";
                  document.body.style.color="red";
                  document.body.style.fontSize="50px";
                  document.body.style.fontWeight="bold";
                  document.body.style.textAlign="center";
                  document.body.style.paddingTop="45%";'>`)
READ ALSO
Цикл forEach. Обращение к элементу с index + 1

Цикл forEach. Обращение к элементу с index + 1

Если я обращаюсь к элементу с индексом + 1 - ничего не работаетЕсли index - 1 - все ОК

278
Как поменять текст внутри div с помощью js?

Как поменять текст внутри div с помощью js?

Я пытаюсь написать простую игру "города", и хочу что бы после того, как пользователь введет слово, оно отобразилось в div'e с id "last-word"Сейчас текст...

360
JS Алгоритм добавления цифр в массив

JS Алгоритм добавления цифр в массив

Я хочу реализовать такое: Я добавляю задачу(элемент с классомtaskи атрибутом data-id) через input, а потом информация сохраняется в localStorage Я код написал...

100