Einbinden von Inhalten per iFrame verhindern

Sie können sich noch daran erinnern, dass ich mich neulich darüber aufgeregt habe, dass irgendwelche Schlauköpfe meine Inhalte in einem iFrame auf deren Webseite eingebunden haben und so Inhalte „produzieren“. Da ich gern selbst meine Inhalte anzeige und gern nur hier haben möchte, musste ich reagieren. Und die Lösung hierfür ist denkbar einfach.

Ich bin selbst nicht drauf gekommen, dass man etwas ganz einfaches machen kann, um zu verhindern, dass eigene Inhalte irgendwo anders in einem Rahmen eingebaut werden. Der Kunstgriff heißt hier „JavaScript“ und ist eigentlich gar kein Geheimnis. Seit Jahren wird ein kleines Script verwendet, um genau das zu verhindern, was ich festgestellt habe. Es handelt sich eigentlich nur um folgendes Stückchen Code:

JavaScript-Codeschnipsel von selfHTML - Screenshot Henning Uhle
JavaScript-Codeschnipsel von selfHTML – Screenshot Henning Uhle

Sie brauchen eigentlich nur den markierten Bereich des Codeschnipsels. Den bauen Sie einfach in die header.php vor dem abschließenden „</head>“ ein. Damit sind Sie schon fertig. Und diese Anpassung hat dann folgende Auswirkung, die ich belustigt verfolgt habe:

Bindet nun jemand meine Webseite über „<iframe>…</iframe> ein, dann wird sie nicht mehr im Frame geladen. Im Fall der Webseite, die ich festgestellt habe, wurde ja sogar eine Artikelübersicht angezeigt. Tja, klickt der Leser nun darauf, wird ausschließlich meine Seite geladen. Der Betreiber der Seite Bloglovin hat dann einfach mal so gar nichts mehr davon, meine Inhalte aufzulisten.

Der Codeschnipsel macht im übertragenen Sinn nichts anderes, als dass geprüft wird, ob sich der aufgerufene Quelltext in der obersten Ebene oder in einem iFrame befindet. Befindet er sich nicht in der obersten Ebene, soll eben die oberste Ebene geladen werden. Technisch erklärt ist das Ganze bei selfHTML.org. Dort können Sie sich auch den Codeschnipsel erhalten.

Webseiten, die nun unbedingt meine Seite als iFrame einbauen wollen, werden nun nichts mehr davon haben. Beachten Sie aber, dass bei einem Update des WordPress-Themes diese Änderungen wieder weg sind. Es ist daher sehr ratsam, ein so genanntes Child Theme zu erstellen.

Jetzt schlage ich mich aber mit dem nächsten Problem herum. Denn es gibt Blitzmerker, die einfach meinen RSS-Feed hernehmen und ihn einfach so, wie der ist, in ihre Webseite einbauen. Hier werde ich wohl auch demnächst eine Lösung haben.

5 Replies to “Einbinden von Inhalten per iFrame verhindern”

  1. Abend,

    danke dir für die Anleitung! Klappt nun wunderbar!

    Damit die besagte Seite deinen Feed nicht ausliest und die Vorschau hat musst du die IP des Servers blocken.

    Ich habe ja schon lange Wordfence als Plugin installiert und bin sehr zufrieden damit! Du kannst dort auch IP´s blocken. So bekommst du die dann auch geblockt die den RSS Feed lesen wollen und du das nicht willst!

  2. Hi Henning,
    danke für den Artikel, hat mir einiges Suchen erspart :-)
    Bezüglich RSS-Feed Einbindung: hier nutze ich die Funktion des Yoast SEO Plugins, die einfach einen Quellenhinweis („Dieser Inhalte erschien zuerst im -Blog“) in den Feed schreibt. Damit wird das „Kapern“ zwar nicht verhindert, aber man hat seinen Quellenhinweis im RSS Feed auf der fremden Seite :-)

    Beste Grüße und – bleib gesund!
    Uwe

    1. Wie man es am Ende macht, ist doch nicht so wichtig. Wenn es mit PHP funktioniert, ist das doch vollkommen OK. Und hey, der Artikel hat ja auch ein paar Jährchen auf dem Buckel. In der Zeit ist viel passiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert