Javascript 避免HTML和脚本标记渲染

Javascript 避免HTML和脚本标记渲染,javascript,jquery,node.js,socket.io,Javascript,Jquery,Node.js,Socket.io,我一直在一个聊天室里工作,我使用Node.js+socket.io进行客户机-服务器通信,因此我无法执行PHP代码(我读过这方面的内容,但不推荐,也很难实现)。除了用户发送带有HTML或脚本标记的消息外,一切正常 我试图用我在中找到的函数删除这些标记。它工作得很好,但只适用于HTML标记,然后我想:好吧,我可以先使用正则表达式删除脚本标记。像这样的 。替换(/.*/ims,”) 然后删除HTML标记,但我不确定该方法是否能抵御黑客攻击,而且发送的每封邮件都有很多处理过程。 是否有任何形式的追加文

我一直在一个聊天室里工作,我使用Node.js+socket.io进行客户机-服务器通信,因此我无法执行PHP代码(我读过这方面的内容,但不推荐,也很难实现)。除了用户发送带有HTML或脚本标记的消息外,一切正常

我试图用我在中找到的函数删除这些标记。它工作得很好,但只适用于HTML标记,然后我想:好吧,我可以先使用正则表达式删除脚本标记。像这样的

。替换(/.*/ims,”)

然后删除HTML标记,但我不确定该方法是否能抵御黑客攻击,而且发送的每封邮件都有很多处理过程。

是否有任何形式的追加文本
$(“#div”)。追加(消息)不呈现HTML/JavaScript代码?--按原样打印文本,如中所示,如果您使用HTML/JS/PHP代码发送消息,消息将按您键入的方式打印

或者,有没有其他方法可以删除标签


谢谢您的时间。

只需添加一个div,将消息设置为文本即可

$("#div").append( $("<div>").text(message) );
$(“#div”).append($(“”).text(message));

只需添加一个div,将消息设置为文本即可

$("#div").append( $("<div>").text(message) );
$(“#div”).append($(“”).text(message));

您可以调用
.text()
函数..append()附加到div..text()将替换整个div。这不是一个好主意。您可以调用
。text()
函数..append()附加到div..text()将替换整个div。这不是一个好主意,谢谢,它起作用了。我想这一次我远离了最简单的解决方案,我刚刚意识到,这是在我以这种方式做的每一个附加的末尾添加一个换行符。我怎样才能修好它?谢谢你,好主意,谢谢,成功了。我想这一次我远离了最简单的解决方案,我刚刚意识到,这是在我以这种方式做的每一个附加的末尾添加一个换行符。我怎样才能修好它?非常感谢。