如何处理用户在文本框中键入html代码

时间:2016-01-05 11:52:16

标签: javascript html

我正在测试我的聊天应用程序并输入<b>test</b>,并且消息以粗体显示。

我注意到你不能在Facebook的聊天中这样做。

处理尝试执行此html注入的用户的最佳方法是什么?

编辑:我使用node.js作为我的服务器端,普通的js和html,css。请注意,我不想删除用户键入的html文本。我只是想让它不被渲染。例如,在Facebook聊天中,如果您键入<b>test</b>,则会显示标签和文字但不会显示为粗体。

1 个答案:

答案 0 :(得分:0)

清理用户输入的过程称为清理。有许多可能的方法来处理它,大多数前端和后端框架都有一些工具/方法来提供它。如果你使用纯香草Javascript,你可以使用这样的东西: Sanitize HTML on the client side

请记住,只有客户端清理并不是一个好主意,因为可能会对格式错误的代码进行ajax注入。您应该实现客户端和服务器端清理程序,以防止所有可能的入侵。

对于NodeJS,我建议使用:Sanitizer或使用验证程序包(它具有清理功能):Validator