Heim >Web-Frontend >js-Tutorial >Können Sie den Frame-Busting Buster überlisten?

Können Sie den Frame-Busting Buster überlisten?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-07 19:58:12221Durchsuche

Can You Outsmart the Frame-Busting Buster?

Frame Buster Buster: Den Frame-Busting-Widerstand besiegen

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.

Den Buster besiegen

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:

Onbeforeunload-Ereignis deaktivieren

Das onbeforeunload-Ereignis wird vom Angreifer verwendet, um den Zähler zu erhöhen. Um es zu deaktivieren, verwenden Sie:

window.onbeforeunload = null;

SetInterval-Timer anhalten

Um den SetInterval-Timer anzuhalten, verwenden Sie die Funktion „clearInterval“:

var intervalID = setInterval(function() {  
  // ...
}, 1);

clearInterval(intervalID);

Verwenden von X-Frame-Optionen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn