11

当我使用 Facebook 的 Open Graph API 时,我注意到 Facebook 生成的 JSONP 响应似乎在每个响应的开头都有一个无关的“/**/”,如下所示:

URL: 
https://graph.facebook.com/SOME_ID?method=get&pretty=0&sdk=joey&callback=FB.__globalCallbacks.f1c77f051c

Response:
/**/ FB.__globalCallbacks.f887adeec(...);

为什么是这样?

4

4 回答 4

6

我们添加它是为了防止第三方站点通过执行以下操作绕过响应的内容类型的攻击:<object type="application/x-shockwave-flash" data="http://graph.facebook.com? callback=[特制的闪存字节]"></object>

谷歌做了类似的事情,除了他们使用 //... + \n (例如http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full?alt=json&callback=foo

于 2013-04-17T05:22:41.933 回答
2

当然是为了防止 XSSI ......所以你不能执行它......

http://maxime.sh/2013/02/javascript-quest-ce-que-le-xssi-et-comment-leviter/&usg=ALkJrhhjfdwBrK7kxNipOowAYacIcJm89g">这是一篇关于此的法语博客文章(带有谷歌翻译)

于 2013-03-09T06:23:35.513 回答
0

为了防止 XSSI 查看 facebook 的图表以获取更多帮助 https://developers.facebook.com/docs/opengraph/overview/

于 2013-04-17T05:27:56.217 回答
-1

似乎 Facebook 在他们的 JSON 上使用了一个清理器,它只是在一开始就留下了剩余的评论持有者。很可能会在此处留下评论以进行调试,但在生产中实际评论会被清除。

于 2013-03-09T06:27:30.917 回答