2011-10-20 10 views
5

Duplicar posible:
Empty “for” loop in Facebook ajax
what does AJAX call response like for (;;); { json data } mean?javascript "for (;;);" estructura

Si bien el análisis de algunas facebook ajax pide el cuerpo me di cuenta de que cada código comienza con for (;;);, folloed por un objeto JSON

algo así como

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

Busqué en Google esta estructura pero no encontré nada.

¿Cuál podría ser el motivo de esta estructura "para" al comienzo de cada respuesta de Ajax?

+1

es un bucle 'for' interminable de acuerdo con la sintaxis de JavaScript – user973254

+1

Podría ser para prevenir XSS - el código después del para nunca se ejecutará ... –

+0

Este es un duplicado de otra pregunta, veré si puedo encontrar eso. –

Respuesta

0

Es por razones de seguridad, impide que otros clientes intenten interceptar sus llamadas AJAX. Básicamente, si lo evalúa de inmediato, su navegador se bloqueará debido al ciclo infinito, solo agregará otra capa de seguridad (ob).

Nada de lo que preocuparse.

+0

Eso no me parece tan seguro. O remotamente difícil de recorrer. – Thor84no

+0

Y ahora que lo sé, ¿qué me impide eliminar la primera parte de la respuesta y evaluar el resto? –

+0

Es algo, y mantiene alejados a algunos script-kiddies. – TJHeuvel

1

A for como este (tenga en cuenta que no es el ';' después de que el soporte):

for (;;) 

significa un bucle infinito, donde las instrucciones ejecutadas son aquellos entre los soportes.

En cambio, una para de esta manera:

for (;;); 

significa un bucle infinito con ninguna declaración.

Cuestiones relacionadas