Защита от хакинга в input

178
19 апреля 2022, 10:10

есть форма input и его значение получается через $("#input").val() а потом выводиться через создание параграфа, но если ввести что-то на подобии alert("i am hacker") этот код будет выполнен, есть ли способы чтобы это val() брало информацию как text(). а не html()?

function printMsg(text, className, type){
  this.clsName = className;
  this.txt = text;
  if(this.txt){
  if(type == "html"){
    $('#chatbox').before(`<p class="${clsName}" id="${msgs}">${this.txt}</p>`);
    
  }
  else{
    $('#chatbox').before(`<p class="${clsName}" id="${msgs}">${this.txt}</p>`);
    
    
  }
  msgs++;
  }
}
function printClient(){
  
  printMsg($("#input").val(), "client", "text");
  $("#input").val('');
  return false;
  
}
Answer 1

присваивай значение через .text()

   let p_var= $('<p>', {'class': className});
   p_var.text('<script language="Javascript">alert("hi");</'+ 'script>');
   $('#chatbox').before(p_var)
READ ALSO
как при помощи jquery поменять css свойство?

как при помощи jquery поменять css свойство?

Хочу поменять цвет средствами jqery, почему меняется только на синий а красный не меняется?

217
Jquery пробелы в json переменной

Jquery пробелы в json переменной

как исправить, чтобы после вставки атрибут был без пробелов

151
актуальна ли команда execCommand?

актуальна ли команда execCommand?

На Nuxtjs делаю страничку добавления поста

220