Sie haben Anti-Framing-JavaScript implementiert, um zu verhindern, dass Ihre Website in Iframes eingebettet wird. Sie haben jedoch einen bösartigen Code entdeckt, der Ihre Frame-Busting-Bemühungen umgehen kann. Dieses Problem wirft die spannende Frage auf: Können Sie den Frame-Busting-Buster überlisten?
Der Code des Angreifers funktioniert, indem er bei Seitennavigationsversuchen einen Zähler erhöht und einen Timer verwendet, um die Seite an einen Remote-Server umzuleiten, der mit HTTP antwortet Statuscode 204, wodurch die Navigation effektiv verhindert wird.
Während des Anti-Framing-Codes Umgangen werden kann, ist es möglich, die Kontrolle zurückzugewinnen, indem die vom Angreifer eingesetzten Zähler- und Zeitmechanismen außer Kraft gesetzt werden. So geht's:
Das onbeforeunload-Ereignis wird vom Angreifer verwendet, um den Zähler zu erhöhen. Um es zu deaktivieren, verwenden Sie:
window.onbeforeunload = null;
Um den SetInterval-Timer anzuhalten, verwenden Sie die Funktion „clearInterval“:
var intervalID = setInterval(function() { // ... }, 1); clearInterval(intervalID);
Bei gängigen Browsern kann die Verwendung des X-Frame-Options-Headers das Framing verhindern, selbst wenn das Skript deaktiviert ist. Zum Beispiel:
X-Frame-Options: SAMEORIGIN
Das obige ist der detaillierte Inhalt vonKönnen Sie den Frame-Busting Buster überlisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!