Heim > Artikel > Web-Frontend > Warum stellt Google JSON-Antworten „while(1);' voran?
Prepending while(1); zu JSON-Antworten: Warum macht Google das?
Wenn Sie API-Anfragen an die privaten JSON-Endpunkte von Google stellen, bemerken Sie möglicherweise ein ungewöhnliches Präfix: while(1);. Dies hat Fragen zu seinem Zweck und möglichen Auswirkungen aufgeworfen.
Verhinderung von JSON-Hijacking
Der Hauptgrund für dieses Präfix ist der Schutz vor JSON-Hijacking. Vor 2011 erlaubten Browser Websites, Objekte abzufangen und zu ändern, die dynamisch während AJAX-Anfragen erstellt wurden. Durch das Voranstellen von while(1); Auf JSON-Antworten verhindert Google, dass Browser diese Antworten als JavaScript-Code auswerten, und blockiert so potenzielle Hijacking-Angriffe effektiv.
Eval()-Exploits vermeiden
Moderne Browser erzwingen sicheres JSON-Parsing , was es schwierig macht, Schadcode über eval() auszuführen. Allerdings ist die while(1); Das Präfix bietet eine zusätzliche Sicherheitsebene, indem es für Angreifer syntaktische Mehrdeutigkeiten schafft. Selbst wenn sie das Präfix entfernen, führt der verbleibende Code zu einer Endlosschleife oder einem Syntaxfehler, wodurch der Angriff unwirksam wird.
Variationen zwischen Google-Diensten
Verschiedene Google-Dienste Verwenden Sie Variationen in diesem Präfix. Google Docs verwendet &&&START&&& anstelle von while(1);, während Google Kontakte &&&START&&& an while(1); anhängt. Dies dient dem gleichen Zweck, JSON-Hijacking zu verhindern.
Fazit
Googles Einbeziehung von while(1); und ähnliche Präfixe in seinen privaten JSON-Antworten ist eine proaktive Maßnahme gegen JSON-Hijacking-Angriffe. Dadurch wird sichergestellt, dass diese Antworten nicht als ausführbarer JavaScript-Code behandelt werden, wodurch Benutzerdaten geschützt und böswillige Aktivitäten verhindert werden.
Das obige ist der detaillierte Inhalt vonWarum stellt Google JSON-Antworten „while(1);' voran?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!