2011-10-20 15 views
5

संभव डुप्लिकेट:
Empty “for” loop in Facebook ajax
what does AJAX call response like for (;;); { json data } mean?जावास्क्रिप्ट "के लिए (;;);" संरचना

जबकि कुछ फेसबुक ajax का विश्लेषण करने के शरीर मैं यह है कि हर कोड, for (;;); साथ शुरू होता है एक json वस्तु द्वारा folloed देखा अनुरोध करता

कुछ

for (;;); {"a":1,"b":"\u003cdiv"} 

मैं इस संरचना के बाद googled लेकिन कुछ नहीं मिला।

क्या इस "के लिए" हर ajax प्रतिक्रिया की शुरुआत में संरचना के लिए कारण हो सकता है? सुरक्षा के लिए

+1

यह जावास्क्रिप्ट वाक्य रचना – user973254

+1

यह XSS को रोकने के लिए किया जा सकता है के अनुसार अनंत 'for' पाश है - निष्पादित हो कभी नहीं होगा के लिए के बाद कोड ... –

+0

यह है एक और सवाल का डुप्लिकेट, मैं अगर मैं मिल सकता है देखेंगे यह। –

उत्तर

0

इसकी, यह अन्य ग्राहकों है कि उनके AJAX कॉल अवरोधन करने की कोशिश बाहर रहता है। मूल रूप से यदि आप इसे सीधे eval करेंगे, तो अंतहीन पाश के कारण आपका ब्राउज़र क्रैश हो जाएगा, वे केवल (ओबी) सुरक्षा की एक और परत जोड़ देंगे।

आपके लिए चिंता करने की कोई बात नहीं है।

+0

यह मुझे सुरक्षित के रूप में नहीं रोकता है। या यहां तक ​​कि दूरस्थ रूप से घूमने के लिए भी मुश्किल है। – Thor84no

+0

और अब जब मैं इसके बारे में जानता हूं, तो मुझे प्रतिक्रिया के पहले भाग को हटाने और बाकी का मूल्यांकन करने से क्या रोकता है? –

+0

यह कुछ है, और यह कुछ स्क्रिप्ट-किड्स को बाहर रखता है। – TJHeuvel

1

इस तरह का for (ध्यान दें वहाँ नहीं है कि ';' ब्रैकेट के बाद):

for (;;) 

अनंत लूप जहां निष्पादित बयान कोष्ठक के बीच होते हैं मतलब है।

इसके बजाय, एक इस तरह के लिए:

for (;;); 

कोई बयान के साथ अनंत लूप का मतलब है।

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