JSON 验证是最佳实践吗? [关闭]

Posted

技术标签:

【中文标题】JSON 验证是最佳实践吗? [关闭]【英文标题】:Is JSON validation a best practice? [closed] 【发布时间】:2010-09-23 11:25:03 【问题描述】:

validate JSON 是最佳实践吗?

同时使用JSON schema proposal 和javascript implementation of a JSON Schema validator,这种做法实施起来似乎相对顺畅。那么,它是否应该成为任何强大应用程序的一部分?或者您是否采用其他首选策略来处理错误的 JSON?

【问题讨论】:

【参考方案1】:

在服务器上,必须对来自外部的数据进行验证。

在浏览器中,如果您可以保证 JSON 是由您控制的服务器代码生成的,并且它所依赖的任何数据都已在服务器上验证,那么它对于安全 POV 来说是多余的。即便如此,它仍然可以用于调试。

【讨论】:

您如何在服务器端进行验证?我将我的 JSON 从 PL/SQL 中踢出,将其发送回接收 DOJO 组件。我可以通过上面的 JSON 引用看到如何在客户端进行验证......但服务器端并不清楚。 我的意思是验证从外部世界接收到的服务器数据。如果您不想在那个方向将它编组为 JSON。我在这里考虑安全性;对于以其他方式流动的调试数据,客户端中的验证就足够了。恐怕我自己推出了自己的验证码。【参考方案2】:

我的 2c 是这样的:

(a) 是的,显然传入的数据应该经过验证,但是

(b) 执行此操作的最佳位置不是按原样使用 Json 数据,而是使用实际业务逻辑对象,如果使用数据绑定。 JSON 验证只有在处理“原始”JSON 时才有意义,但大多数服务(至少在 Java 中)首先使用数据绑定,然后对 biz 逻辑对象进行操作,而不是对数据格式(这通常几乎是一个实现细节)进行操作

【讨论】:

以上是关于JSON 验证是最佳实践吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

最佳实践:应该避免双向关系吗? [关闭]

脚本标签内的 HTML 注释是最佳实践吗? [关闭]

(Java)包组织有最佳实践吗? [关闭]

移动设备的最佳实践身份验证

除了 syslog 之外,Linux 服务/守护程序文件记录最佳实践是啥? [关闭]

OAuth 刷新令牌最佳实践 [关闭]