您好我使用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的行谢谢你,没有像正则表达式那样先进的东西.
谢谢
您可以稍微更改它,如下所示:
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.