首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON中的HTML“应该”不存在

JSON中的HTML“应该”不存在
EN

Stack Overflow用户
提问于 2017-05-15 02:47:28
回答 1查看 64关注 0票数 1

我有一个表单中的description字段。

正如这里所建议的,HTML转义不应该在输入中完成,所以如果您将<h1>Description</h1>保存到数据库中,就会这样保存。

问题是,我已经定义了REST,输出“可能”为HTML。

在构造JSON时,我是应该转义这个字段,还是应该用JSON输出HTML并让客户机转义它呢?

我觉得我应该逃离HTML服务器端,但是这个操作将花费处理时间。另一方面,在HTML中转义可以节省服务器时间,但是使用API的人如果不小心地转义HTML,就会以XSS攻击告终。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-15 02:53:00

客户机可能会成为Javascript客户端,它应该使用DOM处理这些潜在的HTML值:

代码语言:javascript
复制
document.getElementById('output').textContent = json.result;

使用这个DOM是完全安全的,并且不需要转义json.result,因为它从来没有被插入为HTML,而是被更高级别的作为文本节点处理。如果您发送转义HTML,并且客户端像这里一样正确地执行它,那么转义HTML将显示在客户机上;也就是说,您正在将数据转换为垃圾。

所以,不,不要在不相关的上下文中转义值。在将值放入JSON时,不要担心以后可能发生或不可能发生的事情。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43970910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档