javascript - 笑脸解析器和 xss 注入(inject)保护

标签 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"/>

好吧,它只会显示图片,我不希望用户在页面中注入(inject) HTML 代码。

那么,我该怎么做呢?

最佳答案

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

关于javascript - 笑脸解析器和 xss 注入(inject)保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485963/

相关文章:

javascript - 从 Dom 元素获取 CSS 路径

javascript - 在更改不透明度时更改另一个 div 内可点击 div 的点击事件

javascript - 当用户尝试使用 jquery 脚本使用 f5、ctrl+5 刷新浏览器页面时,警报不起作用

javascript - 如何使用 Struts2 从 Apache Tomcat 服务器动态更新 div 文本内容

javascript - 使用 jquery 删除其他 HTML 元素时如何动态删除 HTML 元素

javascript - JQuery - 第一次移动后交换两个元素不起作用

javascript - 使用 JS/jQuery 过滤 PDO 和 MySQL 查询

javascript - jQuery AJAX $.post 不适用于 .click() 方法

javascript - 阻止点击加载网站并加载一些其他自定义内容?

javascript - 我想在 fullCalendar.js 中更改日 View