Qual è l'uso del prefisso "per (;;);" in una risposta Ajax

0

Dopo aver usato il debugger di Chrome per ispezionare le richieste Ajax di Facebook (per curiosità), ho notato che la risposta è in JSON, tuttavia è sempre preceduta da

for(;;);

Ad esempio, se il JSON fosse {hello:"world"} , Facebook risponderebbe

for(;;); {hello:"world"}

Questo ha qualche utilità? Immagino che debba avere uno scopo ...

    
posta AlexMorley-Finch 22.08.2014 - 16:18
fonte

1 risposta

1

La prevenzione di JSON hijacking è il caso d'uso:

Evil websites on other domains can't make AJAX requests to get this data due to the same-origin policy, but they can include the URL via a <script> tag. The URL is visited with your cookies, and by overriding the global array constructor or accessor methods they can have a method called whenever an object (array or hash) attribute is set, allowing them to read the JSON content.

L'istruzione for vuota causa un ciclo infinito, che blocca l'utilizzo dei dati in un contesto non AJAX.

Riferimenti

risposta data 18.08.2018 - 14:57
fonte

Leggi altre domande sui tag