Prüfpunkt software.csp.sperrt_einbettungKopfzeilen und Einbettung
Warum zeigt Ihre Website ein eingebettetes Formular oder eine Karte nicht an?
Eine Content-Security-Policy, kurz CSP, ist eine Kopfzeile, mit der Ihr Server dem Browser sagt, welche Quellen eine Seite laden darf. Sie schützt vor eingeschleustem Code. Rahmen für eingebettete Inhalte wie Karten, Videos oder Terminbuchungen und die Ziele von Formularen stehen darin genauso. Fehlt eine Adresse, sperrt der Browser sie für jeden Besucher. Die Prüfung vergleicht die Rahmen und Formulare jeder Seite mit der CSP ihrer Antwort und meldet, was gesperrt wäre.
Auch der eingebettete Dienst kann die Einbettung sperren

Ihre CSP legt mit frame-src fest, was Ihre Seite einbetten darf. Der Dienst legt mit frame-ancestors oder X-Frame-Options fest, wer ihn einbetten darf. Laut Web Almanac 2025 von HTTP Archive erlauben 72,1 Prozent der Websites mit X-Frame-Options die Einbettung nur von der eigenen Herkunft, 24,6 Prozent gar nicht. Bleibt ein Rahmen leer, obwohl die Adresse in frame-src steht, hilft eine Änderung an Ihrer Richtlinie nichts. Dann braucht es die Einbettungsadresse oder die Freigabe des Anbieters.
Eine gesperrte Anfrage kommt nie bei Ihnen an
Ein Besucher, dessen Formular nicht abgeht, sieht keine Fehlermeldung. Er klickt noch einmal, dann ruft er an oder sucht den nächsten Anbieter. Bei einer Terminbuchung fehlt der Termin, im Shop die Bestellung. Ihr Server merkt davon nichts, weil der Browser die Anfrage nicht abschickt. In Ihrer Statistik sieht das aus wie ein ruhiger Monat.
form-action hält Eingaben auf Ihrer Website
Fehlt form-action, darf ein Formular an jede Adresse senden; default-src greift hier nicht. Gelangt fremdes HTML in Ihre Seite, kann es so Eingaben an einen fremden Server schicken. Deshalb nennt die Richtlinie nur die Adressen, die Ihre Formulare wirklich brauchen. Die Beispielrichtlinien der Sicherheitsorganisation OWASP enthalten form-action 'self'.
Für Besucher bleibt die Fläche leer
Sperrt die CSP einen Rahmen, zeigt der Browser an seiner Stelle eine leere Fläche oder einen Hinweis. Sperrt sie ein Formularziel, schickt der Browser das Formular nicht ab; der Besucher klickt, und nichts passiert. Eine Fehlermeldung erscheint nur in den Entwicklerwerkzeugen des Browsers. Das fällt oft erst auf, wenn Anfragen ausbleiben.
Gemessen werden Rahmen und Formulare jeder Seite
Die Prüfung liest den Quelltext jeder gemessenen Seite, wie der Server ihn ausliefert. Für jeden Rahmen (iframe mit src) und jedes Formular (form mit action) prüft sie, ob die Kopfzeile Content-Security-Policy derselben Antwort das Ziel erlaubt. Für Rahmen gilt frame-src, fehlt es, child-src, dann default-src. Für Formulare gilt nur form-action, ohne Rückfall auf default-src. Der Bericht nennt die Zahl der gesperrten Elemente, das erste davon mit seinem Quelltext und die Direktive, die es sperrt. Rahmen, die erst ein Skript in die Seite einfügt, sieht dieser Prüfpunkt nicht.
Die Adresse in die Richtlinie aufnehmen
Ihre Agentur nimmt die Herkunft des eingebetteten Dienstes in die passende Direktive auf: für eine Karte von Google etwa https://www.google.com in frame-src, für ein Formular, das an einen fremden Dienst sendet, dessen Adresse in form-action. Sie nennt dabei nur die Herkunft, die gebraucht wird, und weder einen Stern noch https: allein. Danach öffnet sie die Seite in einem privaten Browserfenster und prüft, ob der Rahmen erscheint und das Formular ankommt.
Beispiele
Karte von Google in einem Rahmen
Content-Security-Policy: default-src 'self'
<iframe src="https://www.google.com/maps/embed?pb=…"></iframe>Content-Security-Policy: default-src 'self'; frame-src https://www.google.com
<iframe src="https://www.google.com/maps/embed?pb=…"></iframe>frame-src nennt nur die Herkunft der Karte. Alle übrigen Quellen bleiben bei default-src 'self'.
Formular, das an einen fremden Dienst sendet
Content-Security-Policy: default-src 'self'; form-action 'self'
<form action="https://formulare.anbieter.example/senden">Content-Security-Policy: default-src 'self'; form-action 'self' https://formulare.anbieter.example
<form action="https://formulare.anbieter.example/senden">form-action gilt für jedes Formular der Seite, auch für das eigene. Deshalb steht 'self' weiter darin.
So gehen Sie es an
- Lassen Sie Ihre Agentur das Element aus dem Bericht ansehen: welcher Dienst ist eingebettet, wohin sendet das Formular?
- Sie nimmt genau diese Herkunft in frame-src oder form-action auf.
- Bindet ein Dienst den Inhalt nur nach Einwilligung ein, bleibt das so; die Freigabe in der CSP ändert daran nichts.
- Sie öffnet die Seite danach in einem privaten Browserfenster ohne Anmeldung und schickt das Formular einmal ab.
- Lassen Sie die Website neu messen. Der Bericht zeigt, ob die CSP noch ein Element sperrt.
Tipps aus der Praxis
- Testen Sie ein Formular bis zur Bestätigungsseite, in Chrome und in Firefox. Die Entwickler-Dokumentation MDN nennt die Browser bei Weiterleitungen nach dem Absenden uneinheitlich: Ein Ziel, das weiterleitet, kann im einen ankommen und im anderen nicht.
- YouTube im datenschutzerweiterten Modus lädt von https://www.youtube-nocookie.com. Diese Adresse braucht einen eigenen Eintrag in frame-src.
- Lassen Sie sich Sperren melden: Mit report-to schickt der Browser jede Sperre an eine Adresse Ihrer Wahl. So erfahren Sie davon, bevor Anfragen ausbleiben.
- Stehen zwei Richtlinien in der Antwort, etwa vom Server und von einer Erweiterung, gelten beide. Die Adresse muss dann in beiden stehen.
Weiter in der Cybersicherheit
- Wie wird eine kleine Website angegriffen?Bekannte Lücken, Anmeldung, Fehlkonfiguration, fremde Skripte: die Wege in kleine Websites nach BSI, ENISA, Verizon und Patchstack. Woran Sie jeden erkennen.
- Was kann ein Angriff auf meiner Website anrichten?Kartendaten aus dem Bestellformular, Besucher auf Betrugsseiten, 20 Millionen Pfund Bußgeld: echte Fälle mit Quelle und dem Merkmal, das den Weg zeigt.
- Wo sollen Ihre Kunden ihre Kartennummer eingeben?Steht das Feld für die Kartennummer im eigenen Formular, gelten die Pflichten nach PCI DSS für Ihre Website. Das Formular des Zahlungsanbieters nimmt sie ab.
- Wie groß darf ein Cookie sein?Browser sollen ein Cookie bis 4096 Byte annehmen. Ein größeres verwerfen sie, oder der Server lehnt die Anfrage ab. Die Prüfung misst jedes gesetzte Cookie.
Dieser Prüfpunkt gehört zur Cybersicherheit, Unterthema Kopfzeilen und Einbettung. Gemessen wird er im Prüfbereich Aktualität. Was die Prüfung insgesamt leistet, zeigt die Leistungsseite; wie ein Ergebnis zustande kommt, erklärt das Prüfverfahren.




