![]() | ||||||||||||||||||||||||||||||||
| • Startseite • Entstehungsgeschichte • Konzept • Screenshots • Demo • Video-Anleitungen • Download • Systemanforderungen • Nutzungsrecht • Installation • Erweiterung bestellen • Lizenzbedingungen • Newsletter |
Cross-Site-Scripting im Gästebuch verhindernCross-Site-Scripting im Gästebuch verhindern ist eine der wichtigsten Aufgaben, wenn Sie Besuchern erlauben, eigene Texte auf Ihrer Homepage zu hinterlassen. Sobald jemand etwas in ein Eingabefeld tippt und dieser Text später für andere sichtbar wird, entsteht ein kleines Sicherheitsrisiko. Ein Angreifer kann nämlich statt eines netten Grußes auch Programmcode eintragen, der im Browser anderer Leser ausgeführt wird. Keine Sorge: Das klingt komplizierter, als es ist. In diesem Artikel erklären wir von Grund auf, was hinter dem Begriff steckt, wie ein solcher Angriff abläuft und mit welchen einfachen Mitteln Sie Ihr Gästebuch absichern. Vorkenntnisse brauchen Sie keine. ![]() Was bedeutet Cross-Site-Scripting eigentlich?Cross-Site-Scripting, kurz XSS, beschreibt einen Angriff, bei dem fremder Code in eine ansonsten vertrauenswürdige Webseite eingeschleust wird. Der Code stammt nicht von Ihnen, dem Betreiber, sondern von einem Besucher mit schlechten Absichten. Weil der Browser der anderen Leser nicht erkennen kann, dass dieser Code ungewollt dort gelandet ist, führt er ihn brav aus. Meistens handelt es sich dabei um JavaScript, also die Programmiersprache, die im Browser läuft. Ein harmloses Beispiel wäre ein Fenster, das plötzlich aufpoppt. Gefährlicher wird es, wenn der eingeschleuste Code heimlich Daten ausliest, Besucher auf gefälschte Seiten umleitet oder Anmeldedaten abgreift. Der Name "Cross-Site" rührt daher, dass der Angriff oft Brücken zwischen verschiedenen Seiten schlägt, etwa um gestohlene Informationen an einen fremden Server zu senden. Wie ein Angriff auf ein Gästebuch abläuftStellen Sie sich vor, ein Besucher trägt nicht "Schöne Grüße aus Hamburg" ein, sondern einen kurzen Schnipsel JavaScript. Wenn Ihr Gästebuch diesen Eintrag ungefiltert speichert und später wieder anzeigt, passiert Folgendes: Jeder, der die Seite mit diesem Eintrag öffnet, lädt unbemerkt den fremden Code mit. Diese gespeicherte Variante ist besonders heikel, weil sie alle Leser trifft, nicht nur den Angreifer selbst. Damit Sie die typischen Eintrittsstellen kennen, hier eine Übersicht der Felder, über die solcher Code in ein Gästebuch gelangen kann:
Wichtig ist die Erkenntnis: Jede Stelle, an der ein Besucher etwas eingibt und dieses später wieder auf der Seite erscheint, muss geprüft werden. Es genügt nicht, nur das große Nachrichtenfeld abzusichern. Cross-Site-Scripting im Gästebuch verhindern: die wichtigsten SchutzmaßnahmenDer wirksamste Schutz besteht darin, eingegebenen Text niemals blind als HTML auszugeben. Die zentrale Technik dafür heißt Maskieren oder Escaping. Dabei werden gefährliche Sonderzeichen in eine ungefährliche Schreibweise umgewandelt, bevor sie im Browser landen. Konkret werden etwa die spitzen Klammern, mit denen HTML-Befehle beginnen, in harmlose Platzhalter übersetzt. Der Browser zeigt dann den Text als sichtbare Zeichen an, statt ihn als Befehl auszuführen. In PHP übernimmt das die Funktion htmlspecialchars, die bei der Ausgabe von Besuchertexten zum Einsatz kommt. Die folgende Tabelle zeigt, wie aus gefährlichen Zeichen unschädliche Darstellungen werden:
Neben dem Maskieren bei der Ausgabe gibt es weitere Bausteine, die zusammenspielen. Diese sollten Sie kennen:
Was Sie beim Gästebuch-Script beachten solltenUnser Gästebuch-Script nimmt Ihnen viel von dieser Arbeit ab: Es entfernt HTML schon beim Speichern und maskiert Name, E-Mail und Betreff bei der Ausgabe. Trotzdem ist es gut, die Grundlagen zu verstehen, damit Sie bei eigenen Anpassungen nicht versehentlich Schutzmechanismen aushebeln. Falls Sie das Script anpassen oder eigene Felder ergänzen, gilt die einfache Faustregel: Alles, was von außen kommt, behandeln Sie als unsicher, bis das Gegenteil bewiesen ist. Eine Option, HTML in Einträgen zu erlauben, hat das Script nicht. Wer so etwas nachbaut, sollte genau wissen, was das bedeutet. Im Zweifel ist die maskierte, also reine Textanzeige immer die sichere Wahl. Prüfen Sie Ihr Gästebuch ruhig einmal selbst: Tragen Sie testweise einen Eintrag mit Verwandte ThemenDiese Beiträge führen das Thema weiter und helfen Ihnen beim nächsten Schritt: | |||||||||||||||||||||||||||||||
| AGB - Kontakt - Impressum |