当我使用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(...);
为什么会这样?
答案 0 :(得分:6)
我们添加了此项以防止第三方网站通过以下操作绕过响应的内容类型的攻击:< object type =“application / x-shockwave-flash”data =“http:// graph。 facebook.com?callback= [特别制作flash字节]“>< / object>
谷歌做了类似的事情,除了他们使用// ... + \ n(例如http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full?alt=json&callback=foo)
答案 1 :(得分:2)
当然要防止XSSI ...所以你不能执行它......
http://maxime.sh/2013/02/javascript-quest-ce-que-le-xssi-et-comment-leviter/&usg=ALkJrhhjfdwBrK7kxNipOowAYacIcJm89g“>这是关于此的法国博客文章(用谷歌翻译)
答案 2 :(得分:0)
防止XSSI 查看facebook的图表以获得更多帮助 https://developers.facebook.com/docs/opengraph/overview/
答案 3 :(得分:-1)
似乎Facebook在他们的JSON上使用了一个擦除器,它只是在开头留下剩余的评论持有者。很可能在那里留下评论用于调试目的,但在生产中,实际的评论被清除。