Smiley解析器和xss注入保护

Smiley parser and xss injection protection

本文关键字:xss 注入 保护 Smiley      更新时间:2023-09-26

我想做一个简单的聊天,并且,在开始时,只需解析':)'并在附加消息之前添加图像。下面是我的尝试:

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代码。

那么,我该怎么做呢?

您应该在服务器端转义HTML字符,因为可以绕过Javascript。在PHP中,这是通过htmlspecialchars函数完成的,所以:$newText = htmlspecialchars($oldtext);