是否可以插入工作javascript与"<"和">"去掉?

时间:2014-08-21 21:11:20

标签: javascript signalr code-injection

我正在开发一个基本的聊天应用程序以及能够呈现一些html标签的内容,这是在服务器级别完成的。但是,我不希望聊天者能够为了javascript注入而添加任何自己的有效HTML标记。

因为我根本不关心保留用户的CSS样式,所以通过删除所有'<'来防止javascript注入和其他恶意攻击就足够了和'>'收到后服务器上的字符,然后再添加我自己的html标记?我知道有些浏览器会尝试进行最佳猜测,并会添加一个结束'>'当它认为需要时,但我希望清除所有'<'将阻止这种情况发生。

谢谢!

2 个答案:

答案 0 :(得分:1)

替换任何<>都应该足够了。除了删除它们之外,您还可以做得更好 - 分别替换它们&lt;&gt;将允许您安全地打印字符。尝试这样的事情:

function html_escape_string(str) {
    return str.replace(/</g,'&lt;').replace(/>/g,'&gt;');
}

答案 1 :(得分:0)

我在聊天中心的使用语句中添加了Microsoft.Security.Application;,然后使用了Encoder.HtmlEncode(data),其中数据是我发送的消息。它将标签显示为文本。