JQuery追加没有HTML?

SSp*_*oke 3 xss jquery append

您好我使用jQuery的.append()函数来获取XSS漏洞

我正在做的是附加来自用户的原始聊天消息,我不想剥离服务器或客户端的html标签我只是想显示它们.然而,jquery的.append()方法呈现了html标记.

无论如何像appendText()?我尝试过.text()但它无法正常生成正确的html.

我目前正在使用.

  var li = $('<div></div>').addClass('chatmsg');
  var al = $('<span></span>').addClass(chatClass).text("You");
  li.append(al);
  li.append(" " + msg);
  $('.chat').append(li);
Run Code Online (Sandbox Code Playgroud)

如何修复li.append(""+ msg);

忽略渲染html的行谢谢你,没有像正则表达式那样先进的东西.

谢谢

Nic*_*ver 7

您可以稍微更改它,如下所示:

var li = $('<div />', { text: ' ' + msg, 'class': 'chatmsg' });
var al = $('<span />', { text: 'You', 'class': chatClass });
li.prepend(al);
$('.chat').append(li);
Run Code Online (Sandbox Code Playgroud)

这是.text()在封面下调用,编码可能存在的任何内容msg.