2011-10-20 3 views
5

Можно создать дубликат:
Empty “for” loop in Facebook ajax
what does AJAX call response like for (;;); { json data } mean?javascript "for (;;);" Структура

Анализируя некоторые facebook Ajax просит тело я заметил, что каждый код начинается с for (;;);, folloed объектом JSon

что-то вроде

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

Я искал после этой структуры, но ничего не нашел.

В чем причина этой структуры «для» в начале каждого ответа ajax?

+1

это бесконечный цикл 'for' в соответствии с синтаксисом javascript – user973254

+1

Это может быть для предотвращения XSS - код после того, как for никогда не будет выполнен ... –

+0

Это дубликат другого вопроса, я посмотрю, смогу ли я найти Это. –

ответ

0

Для обеспечения безопасности он не использует других клиентов, которые пытаются перехватить их вызовы AJAX. Если вы указали прямо сейчас, ваш браузер выйдет из строя из-за бесконечного цикла, они просто добавят еще один уровень безопасности (ob).

Не о чем беспокоиться.

+0

Это не кажется мне безопасным. Или даже удаленно трудно обойти. – Thor84no

+0

И теперь, когда я знаю об этом, что мешает мне удалить первую часть ответа и оценить остальные? –

+0

Его что-то, и он держит некоторых детей-сценаристов. – TJHeuvel

1

for как это (обратите внимание, что не «;» после того, как кронштейн):

for (;;) 

означает бесконечный цикл, где выполняются инструкции являются те, в скобках.

Вместо этого для так:

for (;;); 

означает бесконечный цикл не заявления.

Смежные вопросы