Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Plus中奇怪的JSON响应_Javascript_Json_Google Plus - Fatal编程技术网

Javascript Google Plus中奇怪的JSON响应

Javascript Google Plus中奇怪的JSON响应,javascript,json,google-plus,Javascript,Json,Google Plus,当我调试Google Plus中的错误时(从雅虎导入FB联系人时),我发现了奇怪的JSON响应: )]}' [[["er",,,,,500] ,["e",2,,,57] ],'45932b7d6d6dc08e'] 这是JSONP的一些变体吗?让我想起了SQL注入,而不是。。。那么,开始时结束括号和引号的目的是什么呢?这可能是一种类似于中描述的XSRF防御,基本上是JSON,在开始时删除空值并添加垃圾以阻止XSRF。这里有一些PHP代码可以对其进行解码(来自我正在开发的一个非官方的Google

当我调试Google Plus中的错误时(从雅虎导入FB联系人时),我发现了奇怪的JSON响应:

)]}'

[[["er",,,,,500]
,["e",2,,,57]
],'45932b7d6d6dc08e']

这是JSONP的一些变体吗?让我想起了SQL注入,而不是。。。那么,开始时结束括号和引号的目的是什么呢?

这可能是一种类似于

中描述的XSRF防御,基本上是JSON,在开始时删除空值并添加垃圾以阻止XSRF。这里有一些PHP代码可以对其进行解码(来自我正在开发的一个非官方的Google Plus API)


闻起来像是XSS反措施,好像有人想让世界知道他在谷歌+。。。也许这就是青少年的精神。。。我真的说不出这有多奇怪。它甚至提供了内容类型为“application/json”的服务,但json完全无效。@Shaggy Frog,在我看来,它更像是一个XSRF对策。顶部的脚本确保在通过
跨站点加载时无法正确解析,但在通过XMLHttp加载时(遵循同源策略),可以删除断路器。@GlennFerrieLive由于有趣的上下文,我很快就收到了答案。此外,每个人都可以自己检查JSON响应。不过,还是要感谢你的宝贵见解。杰森:我不明白删除“null”意味着什么。需要详细说明吗?genesis:由g+返回的json包含许多嵌套数组,而不是键值对。这些数组中的许多字段不包含值,但它们不是表示为“null”,而是保留为空。因此,您将看到类似于[,,0]的数组,而不是[null,null,null,0]。javascript解析器似乎对此没有问题,但它没有传入php的json_解码函数。我想谷歌的人选择这样做是为了减少传输量。另外,为了进一步解释代码:你只需扔掉前5个字符,然后筛选剩余的字符串,寻找空字段,在找到的地方插入“null”。在那之后,它应该很好。是的,它已经工作了。哇!我没想过!这太容易了。你也能回答这个问题吗?