2010-06-17 14 views
24

Podczas surfowania na Facebooku i korzystania z debuggera sieciowego Firebug zauważyłem, że wszystkie odpowiedzi na AJAX Facebooka zaczynają się od pustej pętli for.Pusta pętla "na" na Facebooku ajax

Przykład:

for(;;);{...} 

Czy ktoś wie dlaczego to zrobił? Zakładam, że ma to zapobiec atakowi XSS, ale nie do końca rozumiem. Dzięki!

+0

wygląda to próbuje powiesić silnik JS, jeśli odpowiedź jest eval'd. Prawdopodobnie, aby użytkownicy interfejsu API Facebooka użyli swojej biblioteki do analizy JSON zamiast eval? – strager

+0

Prawdopodobny duplikat [Dlaczego Google wstaje, gdy (1); do ich odpowiedzi JSON?] (http://stackoverflow.com/questions/2669690/why-does-google-prepend-while1-to-their-json-responses) – gengkev

Odpowiedz

10

jak Google

while(1); 

to zrobić na zapobieganie tym to w <script> z dalszym wykorzystaniem danych

+7

czy możesz wyjaśnić trochę więcej? – RSK

+5

@RSK: nie, nie mogę. – zerkms

+0

@zerkms: u oznacza to, aby zapobiec ataku XSS? – RSK