Perché c'è un per (;;); preambolo nelle risposte JSON di Facebook?Perché c'è un per (;;); preambolo nelle risposte JSON di Facebook?
risposta
vedi questo post StackOverflow: How to restrict JSON access?
In particolare questo commento all'interno di quel filo: for/while loops in JSON responses
Fondamentalmente questo è utilizzato in modo che gli attaccanti non possono ottenere l'URL e includerlo sulla loro pagina e JavaScript ha ora messo le variabili nella pagina perché non appena la richiesta è stata revisionata il browser andrà in un loop infinito, non permettendo ad altri JavaScrip di accedere a dette variabili che potrebbero consentire agli aggressori di usare il tuo browser per ottenere le informazioni che sono destinate a rimani privato.
Fondamentalmente questo esegue solo un ciclo infinito quando analizzato. In questo modo, il browser dell'utente si blocca (eventualmente fornendo un popup che consente all'utente di interrompere lo script) e i dati non vengono mai letti. Spero che questo abbia un senso!
ok, ma se lo so, posso solo usare la sottostringa e poi il contenuto - giusto. Proprio come facebook fa –
No, dal momento che non è possibile utilizzare XMLHttprequest o nessuna di queste funzioni poiché non si ottiene il contenuto dallo stesso dominio. Poiché non si trova nello stesso dominio, è necessario utilizzare un nodo di script per caricare il contenuto nella pagina corrente, il che causerà immediatamente il passaggio del motore JavaScript in un ciclo infinito. –