Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在从服务器向客户端发送JSON格式的HTML时,我是否应该对内容进行转义?

在从服务器向客户端发送JSON格式的HTML时,我是否应该对内容进行转义?
EN

Stack Overflow用户
提问于 2013-09-05 08:17:38
回答 4查看 2.3K关注 0票数 2

我需要从服务器发送HTML内容到客户端,以便显示它们(用户可以发布HTML格式的评论,这些评论可以被其他人查看)。我的客户端是富JS应用程序,它通过JSON API与服务器进行通信。

我的问题是,如果我返回这样的响应:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  commentId: '123',
  authorId: '123',
  comment: 'possible HTML here'
}

我应该在服务器上转义comment字段中的内容,然后将转义的内容发送到客户端,还是应该发送原始的HTML,并在需要时让客户端处理转义?常见的做法是什么?

另外,为了显示HTML,我是否应该对其进行清理(例如,删除脚本标记等)?

EN

回答 4

Stack Overflow用户

发布于 2013-09-05 08:42:02

没有通用的做法,例如,如果用户提交了一些带有脚本标记的超文本标记语言,您可以在使用例如http://htmlpurifier.org/库对其进行消毒后将所有内容保存在数据库中,该库允许您指定要剥离哪些标记并保留……

或者,您可以将提交的超文本标记语言保存为原样,然后在客户端使用例如https://code.google.com/p/google-caja/wiki/JsHtmlSanitizer (https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/plugin/html-sanitizer.js?r=5170)对其进行清理,它的功能与HTMLPurifier几乎相同,但在客户端

清理HTML是一项cpu密集型任务,因此在第一种情况下,您将使用服务器的cpu,在第二种情况下,您将使用用户的cpu

你来选择

票数 1
EN

Stack Overflow用户

发布于 2013-09-05 08:33:32

这里有两个混合的问题。

HTML是否应该转义JSON字符串manually

  • Should I转义其中的?

对于第一个问题,答案是否定的。您必须使用任何工具在您的语言提供的数据结构之外创建JSON字符串。

第二个问题--视情况而定。如果你的用户确实允许发布超文本标记语言的评论,并且你已经验证了它们--显然你不必避开这个超文本标记语言。

票数 0
EN

Stack Overflow用户

发布于 2013-09-05 08:24:17

我觉得你应该逃离它。否则,它将不是有效的JSON,并且您将在前端遇到问题。我将建议在客户端使用https://github.com/douglascrockford/JSON-js,并在您的后端使用一些替代方案。JSON.parse和JSON.stringify将保证您传递的是有效数据。

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

https://stackoverflow.com/questions/18631157

复制
相关文章
dotnet 是否应该对 HttpResponseMessage 调用 Dispose 进行释放
对于 HttpClient 的请求响应值 HttpResponseMessage 来说,既然继承了 IDisposable 接口,自然就是想让大家可以通过 using 或者手动调用 Dispose 进行释放的。本文将来聊聊对 HttpResponseMessage 调用 Dispose 进行释放的意义有多大,有没有必要性的问题
林德熙
2023/07/24
4380
Postman发送JSON格式的post请求
Postman发送JSON格式的post请求 1、在Headers中添加Content-Type 2、设置Body 1、在Headers中添加Content-Type key为Content-Type,值为application/json 2、设置Body 点击"body",’‘raw’'并设定为JSON
别团等shy哥发育
2023/02/25
2.5K0
Postman发送JSON格式的post请求
android客户端向服务器发送请求中文乱码的问
android客户端向服务器发送请求的时候,并将参数保存到数据库时遇到了中文乱码的问题:
yuanyuan
2019/09/10
2.5K0
HTML转义字符:xss攻击与HTML字符的转义和反转义
转义只是防止xss攻击的一种手段之一,更多请查看:《web开发前端安全问题总结——web前端安全问题汇总》
周陆军博客
2022/06/25
11.5K0
auto-comet服务器端向客户端的自动发送
介绍一个服务器端自动向客户端推送信息的框架。在这之前先要了解几个东西,首先是comet comet介绍 基于 HTTP 长连接的“服务器推”技术,是一种新的 Web 应用架构。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet 架构非常适合事件驱动的 Web 应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和 Web 版在线游戏等。   服务器推送技术(Server Push)是最近Web技术中最热门的一个流行术语,它的别名
cloudskyme
2018/03/20
3.1K0
auto-comet服务器端向客户端的自动发送
office打开文件时出现向程序发送命令时出现问题_向文件发送命令时错误
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说office打开文件时出现向程序发送命令时出现问题_向文件发送命令时错误,希望能够帮助大家进步!!!
Java架构师必看
2022/10/24
8K0
轻松发送HTML格式邮件:Spring Boot邮件发送
🏆本文收录于 《Spring Boot从入门到精通》 ,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。
bug菌
2023/10/09
1.3K0
轻松发送HTML格式邮件:Spring Boot邮件发送
python使用smtp发送HTML格式的邮件
发送HTML格式的邮件其实只要再使用MIMEText函数构造邮件消息体的时候将第二个参数指定格式为html即可
灯珑LoGin
2022/10/31
1.9K0
把Excel表的内容转为json格式
一、前言 先说一下我使用Excel表的内容转为json的应用场景,我们是用来处理国际化的时候用到的。 二、具体操作步骤 第一步:选择要转化Excel表的内容(必须是key,value形式的) 图
挑战者
2018/06/29
2.8K0
文档太乱,排版时姓名格式对不齐应该如何解决?
1、点击[替换] 2、点击[查找] 3、点击[查找内容] 4、点击[使用通配符] 5、点击[在以下项中查找] 6、点击[全文档] 7、点击[中文版式] 8、点击[调整宽度] 9、点击[2字符] 10、点击[确定]
裴来凡
2022/05/28
5840
文档太乱,排版时姓名格式对不齐应该如何解决?
移动端造json假数据时的坑(转义符问题)
迭代开发中,经常出现服务端接口还没开发完成的情况,所以经常需要移动端自己在本地造一些假数据。
请叫我大苏
2018/05/17
1.6K0
原生js上传文件 发送JSON,XML,对请求的表单进行URL编码详解
HTML表单,当用户提交表单时,表单中的数据将会编码到字符串中,一并伴随着请求发送。
mySoul
2018/08/16
4.6K0
json几种格式_json的格式
JSON有三种格式,每一种写法都和JS中的数据类型很像,可以很轻松的和JS中的数据类型互相转换
全栈程序员站长
2022/11/04
3K0
json几种格式_json的格式
【编程技巧】使用Python发送HTML格式的邮件
脚本示例: import smtplib from email.mime.text import MIMEText mailto_list=["YYY@YYY.com"] mail_host="smtp.XXX.com" #设置服务器 mail_user="XXX" #用户名 mail_pass="XXXX" #口令 mail_postfix="XXX.com" #发件箱的后缀 def send_mail(to_list,sub,content): #to_list:收件人;sub:主题;
Luga Lee
2022/03/25
1K0
AJAX如何向服务器发送请求?
AJAX(Asynchronous JavaScript and XML)是一种在Web应用程序中向服务器发送异步HTTP请求的技术。它通过在后台发送请求并异步地获取响应,实现了与服务器进行数据交互而不需要刷新整个页面。
网络技术联盟站
2023/07/07
5570
AJAX - 向服务器发送请求请求
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
chenchenchen
2022/11/29
1.8K0
Firefox 如何对发送的参数进行调试
在网页或者 API 进行调试的时候,尤其是在 OAuth 调试的时候,我们希望能够调试发送到 API 的数据,这个时候如何进行调试呢?
HoneyMoose
2020/10/17
1.3K0
Firefox 如何对发送的参数进行调试
不可忽视的前端安全问题——XSS攻击
XSS攻击是前端技术者最关心的安全漏洞,在OWASP最新公布的2017 常见安全漏洞TOP 10中,XSS又被列入其中。 本文首发于知乎,各位可以通过点击文章下方的阅读原来来访问知乎原文地址 XSS是
用户1687375
2018/06/08
6610
点击加载更多

相似问题

当通过Javascript输出JSON内容时,我应该在服务器或客户端转义HTML吗?

45

向客户端发送解析的JSON文件,但格式不是HTML

11

在从express服务器发送HTML文档之前对其进行编辑

122

是否应该对JSON正文进行编码

120

如何获取未转义JSON内容的html转义JSON数据

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文