2011-11-07 5 views
5

मैंने सभी विधियों के लिए फेसबुक ग्राफ एपीआई द्वारा वापस जेएसओएनपी आउटपुट में एक खाली टिप्पणी ब्लॉक देखा।फेसबुक ग्राफ एपीआई जेएसओएनपी प्रारूप,/* */पहली पंक्ति में क्या इंगित करता है?

यूआरएल है कि मैं कहा जाता है:

https://graph.facebook.com/NUMERIC_FACEBOOK_ID/friends?access_token=ACCESS_TOKEN_STRING&callback=theGreatFunction 

JSONP उत्पादन होता है:

/**/ theGreatFunction({ 
    "data": [ 
     { 
     "name": "First Friend", 
     "id": "XXXX" 
     }, 
     { 
     "name": "Second Friend", 
     "id": "XXXXXX" 
     }, 
    ........ 

मेरा प्रश्न है: खाली टिप्पणी ब्लॉक /* */ कॉलबैक फ़ंक्शन से पहले क्या दर्शाता है? क्या इसका कोई असाधारण उद्देश्य है? क्या यह किसी ज्ञात जावास्क्रिप्ट गेटचा को ठीक करता है?

उत्तर

14

हम इस जोड़े गये एक हमले जहां एक तृतीय पक्ष साइट करके प्रतिक्रिया की सामग्री प्रकार नजरअंदाज खिलाफ की रक्षा:

<object type="application/x-shockwave-flash" 
data="http://graph.facebook.com?callback=[specifically crafted flash bytes]"> 
</object> 

सिवाय इसके कि वे // का उपयोग गूगल कुछ ऐसा ही, ... + \ n (उदाहरण के लिए http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json&callback=foo)

+1

खाली हमले ब्लॉक इस हमले के खिलाफ कैसे मदद करता है, मुझे समझ में नहीं आया? – DhruvPathak

+3

टिप्पणी ब्लॉक के बिना, jsonp प्रतिक्रिया को क्रिया स्क्रिप्ट (फ़्लैश) कोड के रूप में फिर से व्याख्या किया जा सकता है। एसएफएफ फ़ाइल प्रारूप बताता है कि पहले 3 बाइट्स एफडब्ल्यूएस या सीडब्ल्यूएस होना चाहिए। खाली टिप्पणी इसे रोकती है। – Alok

-1

एक निश्चित शुरुआत करने के लिए किसी प्रकार का सेपरेटर हो सकता है। मुझे लगता है कि फेसबुक के पास इसका कोई कारण था लेकिन यह केवल हम अनुमान लगा सकते हैं और इससे कोई फर्क नहीं पड़ता? :)

+0

कुछ होने पर किसी कारण को जानना अच्छा होगा। ऐसा कुछ जावास्क्रिप्ट गेटचा इत्यादि को ठीक करने के लिए हो सकता है। – DhruvPathak

संबंधित मुद्दे