我想进行一次简单的聊天,在开始时,只需解析“:)”并在附加消息之前添加一张图片。 这是我尝试过的:
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"/>
好吧,它只会显示图片,我不希望用户在页面中注入(inject) HTML 代码。
那么,我该怎么做呢?
最佳答案
您应该在服务器端对 HTML 字符进行转义,因为 Javascript 可以被绕过。
在 PHP 中,这是由 htmlspecialchars 函数完成的,因此:
$newText = htmlspecialchars($oldtext);
关于javascript - 笑脸解析器和 xss 注入(inject)保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485963/