Maison >interface Web >js tutoriel >Pourquoi Google ajoute-t-il \'while(1);\' à ses réponses JSON ?
Comprendre le code ajouté au début des réponses JSON de Google
Google ajoute fréquemment une préface de "while(1);" au début de ses réponses JSON privées. Cette pratique a soulevé des questions quant à son objectif.
Prévenir le piratage JSON
La principale raison de ce code ajouté est de contrecarrer le piratage JSON. Le piratage JSON est une vulnérabilité de sécurité qui permet aux attaquants d'accéder à des données sensibles en incluant un script malveillant dans une réponse JSON à l'aide de scripts externes. En ajoutant "while(1);", Google empêche le script de s'exécuter automatiquement, car le code entre dans une boucle infinie.
Détails techniques
Le détournement JSON est exécuté en tirant parti du fait que les navigateurs permettent aux sites Web de modifier dynamiquement le comportement des méthodes des objets globaux « Array » et « Function ». Ainsi, un attaquant pourrait définir des attributs de réponse spécifiques d'un objet et exécuter du code arbitraire.
Syntaxe alternative
Outre "while(1);", Google utilise également des variantes dans différents services :
Ces variantes ont le même objectif : empêcher le piratage JSON et promouvoir une analyse JSON sécurisée.
Compatibilité des navigateurs
Le piratage JSON a été résolu dans tous les principaux navigateurs depuis 2011 via ECMAScript 5, qui empêche les scripts d'origines différentes d'accéder aux données. Cependant, le code ajouté au début offre une couche de protection supplémentaire contre les vulnérabilités potentielles des anciens navigateurs ou des sites Web non conformes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!