我正在开发一个基本的聊天应用程序以及能够呈现一些html标签的内容,这是在服务器级别完成的。但是,我不希望聊天者能够为了javascript注入而添加任何自己的有效HTML标记。
因为我根本不关心保留用户的CSS样式,所以通过删除所有'<'来防止javascript注入和其他恶意攻击就足够了和'>'收到后服务器上的字符,然后再添加我自己的html标记?我知道有些浏览器会尝试进行最佳猜测,并会添加一个结束'>'当它认为需要时,但我希望清除所有'<'将阻止这种情况发生。
谢谢!
答案 0 :(得分:1)
替换任何<
和>
都应该足够了。除了删除它们之外,您还可以做得更好 - 分别替换它们<
和>
将允许您安全地打印字符。尝试这样的事情:
function html_escape_string(str) {
return str.replace(/</g,'<').replace(/>/g,'>');
}
答案 1 :(得分:0)
我在聊天中心的使用语句中添加了Microsoft.Security.Application;
,然后使用了Encoder.HtmlEncode(data)
,其中数据是我发送的消息。它将标签显示为文本。