2010-06-17 3 views
24

Tout en surfant sur facebook et en utilisant le débogueur réseau Firebug j'ai remarqué que les réponses AJAX de facebook commencent tous par une boucle for vide.Vide "for" boucle dans Facebook ajax

Exemple:

for(;;);{...} 

Est-ce que quelqu'un sait pourquoi cela est fait? Je suppose que c'est pour empêcher une sorte d'attaque XSS mais je ne comprends pas totalement. Merci!

+0

On dirait qu'il essaie de bloquer le moteur JS si la réponse est eval'd. Probablement pour que les utilisateurs de l'API Facebook utilisent leur bibliothèque JSON-parsing au lieu d'eval? – strager

+0

Possible duplicata de [Pourquoi Google a-t-il priorité pendant que (1); à leurs réponses JSON?] (http://stackoverflow.com/questions/2669690/why-does-google-prepend-while1-to-their-json-responses) – gengkev

Répondre

10

Comme

de Google
while(1); 

il fait pour empêcher d'inclure cela dans <script> à l'utilisation des données plus

+7

pouvez-vous expliquer un peu plus? – RSK

+5

@RSK: non, je ne peux pas. – zerkms

+0

@zerkms: cela signifie-t-il empêcher l'attaque XSS ?? – RSK