2011-10-20 59 views
5

可能重複:
Empty 「for」 loop in Facebook ajax
what does AJAX call response like for (;;); { json data } mean?javascript「for(;;);」結構

在分析一些Facebook的AJAX請求的身體我注意到,每一個代碼開始與 for (;;);,由JSON對象folloed

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

我這個結構之後google搜索,但一無所獲。

可能是什麼在每一個Ajax響應的開始這個「爲」結構的原因?

+1

根據javascript語法,這是無盡的'for'循環 – user973254

+1

它可能是爲了防止XSS - 後的代碼將永遠得不到執行... –

+0

這是一個重複的另一個問題,我會看看如果我可以找到它。 –

回答

0

它的安全,它保留了試圖攔截他們的AJAX調用其他客戶端。 基本上,如果你馬上評估它,你的瀏覽器會因無限循環而崩潰,它們只是添加另一層(ob)安全性。

沒什麼好擔心的。

+0

這並不能保證我的安全。或者甚至很難避開。 – Thor84no

+0

現在我知道了,是什麼阻止我去除迴應的第一部分並評估其餘部分? –

+0

它的東西,它保留了一些腳本小子。 – TJHeuvel

1

for像這樣(注意,不是「;」支架後):

for (;;) 

指一個無限循環,其中執行的語句是那些方括號之間。

取而代之的是,像這樣:

for (;;); 

意味着沒有聲明無限循環。