笑脸解析器和xss注入保护

时间:2014-03-18 16:54:24

标签: javascript jquery html

我想进行一次简单的聊天,并且在开始时,只需解析' :)'并在附加消息之前添加图像。 这就是我的尝试:

var string = "The message the user wrote";
var message = $('<div class=\"chat-message\"></div>').text(string);            
message.html(message.text().replace(':)', '<img src="smile.png"/>')).appendTo('#chat-messages');

好吧,它的作品,但让我们想象有人发送这个:

<img src="Some illicite picture"/>

嗯,它只显示图片,我不希望用户在页面中注入HTML代码。

那么,我该怎么办?

1 个答案:

答案 0 :(得分:2)

你应该在Serverside转义HTML字符,因为可以绕过Javascript。 在PHP中,这是由htmlspecialchars函数完成的,因此: $newText = htmlspecialchars($oldtext);