Den vorangestellten Code in den JSON-Antworten von Google verstehen
Google fügt häufig ein Vorwort von „while(1);“ hinzu zum Beginn seiner privaten JSON-Antworten. Diese Praxis hat Fragen zu ihrem Zweck aufgeworfen.
Verhindern von JSON-Hijacking
Der Hauptgrund für diesen vorangestellten Code besteht darin, JSON-Hijacking zu verhindern. JSON-Hijacking ist eine Sicherheitslücke, die Ermöglicht Angreifern den Zugriff auf vertrauliche Daten, indem sie mithilfe externer Skripte ein bösartiges Skript in eine JSON-Antwort einbinden. Durch das Voranstellen von „while(1);“ verhindert Google, dass das Skript automatisch ausgeführt wird, da der Code in eine Endlosschleife eintritt.
Technische Details
JSON-Hijacking wird ausgeführt indem es die Tatsache nutzt, dass Browser es Websites ermöglichen, das Verhalten der Methoden der globalen Objekte „Array“ und „Funktion“ dynamisch zu ändern. So könnte ein Angreifer bestimmte Antwortattribute eines Objekts festlegen und beliebigen Code ausführen.
Alternative Syntax
Neben „while(1);“ verwendet Google auch Variationen in verschiedenen Diensten:
Diese Variationen dienen dem gleichen Ziel ist es, JSON-Hijacking zu verhindern und eine sichere JSON-Analyse zu fördern.
Browserkompatibilität
JSON-Hijacking wird seit 2011 in allen gängigen Browsern durch die Same-Origin-Richtlinie von ECMAScript 5 angegangen. Dadurch wird verhindert, dass Skripte unterschiedlicher Herkunft auf Daten zugreifen. Der vorangestellte Code bietet jedoch einen zusätzlichen Schutz vor potenziellen Schwachstellen in älteren Browsern oder nicht konformen Websites.
Das obige ist der detaillierte Inhalt vonWarum stellt Google seinen JSON-Antworten „while(1);' voran?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!