Подтвердить что ты не робот

Почему обратные вызовы Facebook JSONP начинаются с "/**/"

Когда я использовал API-интерфейс Facebook Open Graph, я заметил, что ответы JSONP, созданные Facebook, по-видимому, имели посторонний "/**/" в начале каждого ответа, например:

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

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

Почему это?

4b9b3361

Ответ 1

Мы добавили это для защиты от атаки, когда сторонний сайт обходит тип содержимого ответа, выполняя: < object type = "application/x-shockwave-flash" data = "http://graph. facebook.com?callback=[specified обработанные флэш-байты]" > </object>

Google делает что-то подобное, за исключением того, что они используют //... +\n (например, http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json&callback=foo)

Ответ 2

Конечно, чтобы предотвратить XSSI... поэтому вы не можете его выполнить...

http://maxime.sh/2013/02/javascript-quest-ce-que-le-xssi-et-comment-leviter/&usg=ALkJrhhjfdwBrK7kxNipOowAYacIcJm89g" > Вот французское сообщение в блоге об этом (с google translate)

Ответ 4

Похоже, что Facebook использует скруббер на своем JSON, и он просто оставляет оставшегося держателя комментариев в начале. Скорее всего, оставляют комментарии там для целей отладки, но в процессе производства фактические комментарии очищаются.