WebsiteBaker Community Forum

WebsiteBaker Support (2.13.x) => General Help & Support => Topic started by: radlerjudi on January 23, 2025, 05:27:53 PM

Title: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: radlerjudi on January 23, 2025, 05:27:53 PM
Hallo,
habe ein Problem bei hinzufügen einer Maps- Karte über iframe

Ich habe mehrere Webseiten bei der Version 2.13.6 r166 wird die eingebundene Maps Karte einwandfrei angezeigt.
Bei der Version 2.13.237 wird vor dem <iframe allerdings nach dem ersten Aufruf vor <ifram  dann  sandbox="" hinzugefügt.  Die Karte wird dann nicht mehr aufgerufen.

Ja, ich habe die Suche genutzt, wurde aber nicht fündigt.
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: radlerjudi on January 23, 2025, 06:25:16 PM
Vielleicht ist mein Problem nicht ganz klar geworden, also: Ich füge die Maps Karte mit dem HTML Schnipsel:

<iframe src="https://www.google.com/maps/d/embed?mid=1dFI3qLvt3_KFY40YVYR_tUlZv9Q&ehbc=2E312F" width="640" height="480"></iframe>

auf eine Seite bei mir ein.

Die Seite wird dann korrekt aufgerufen und die Karte angezeigt

Rufe ich die Seite erneut auf, wird die Karte als weißes Feld angezeigt und vor dem HTML Schnipsel wurde sandbox="" hinzu gefügt. Das ist der einzige Unterschied den ich im Quellcode der Seite festgestellt habe.

Wie kann ich das Einfügen von sandbox="" vermeiden?
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: dbs on January 23, 2025, 06:56:36 PM
Ich weiß jetzt nicht wo es herkommt. Aber als workaround könntest du selbst das Attribute setzen.
Code: [Select]
sandbox="allow-scripts"
Alternativ deinen Code in eine Code2(HTML) Section setzen. Geht das?
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: radlerjudi on January 23, 2025, 07:13:25 PM
Danke für Deine Antwort.
Grundsätzlich: ich bin froh mit WebsiteBaker solch ein einfaches und anwenderfreundliche s CMS gefunden zu haben. Leider fehlen mir html Kenntnisse und so bin ich auf Eure Hilfe angewiesen, sobald etwas nicht funktioniert. Mit den alten WB Versionen habe ich es irgendwie hinbekommen, sehr umfangreiche Webseiten aufzubauen. Aber mit der Umstellung auf  2.13 habe ich nun meine Schrierigkeiten. Halt immer dann, wenn etwas nicht wie vorgesehen funktioniert.
Das mit dem Attribut setzen hat nicht funktioniert, denn das Attribute ist nach Aufruf der Seite wieder verschwunden und der Zustand sandbox="" wieder hergestellt.

Und zu der Frage "Geht das?  Nein, das kann ich leider nicht
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: sternchen8875 on January 23, 2025, 07:42:12 PM
Ich glaube, es braucht hier ein paar mehr Informationen, z.b. wie und wo wurde der Iframe eingebunden.
Ist er z.b. in einer Code²-Section, sollte das nicht passieren. Eine CKEditor- bzw Wysiwyg-Section schaut da schon anders aus, dort ist das Sandbox-Attribut seit Version 4.21 ein Teil des Plugins - siehe hier -> https://ckeditor.com/blog/ckeditor-4.21-with-security-patches-and-potential-breaking-changes/#potential-breaking-changes

Ich bin da bei dbs. Bei mir funktioniert die Einbindung über den CKEditor -> Quellcode-Ansicht mit diesem Code

Code: [Select]
<p><iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="480" sandbox="" src="https://www.google.com/maps/d/embed?mid=1dFI3qLvt3_KFY40YVYR_tUlZv9Q&amp;ehbc=2E312F" width="640"></iframe></p>
mit oder ohne <p>

ohne den sandbox-Eintrag, wie von dbs beschrieben, kann ich die von dir beschriebenen Fehler nachvollziehen
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: dbs on January 23, 2025, 08:27:29 PM
Also ich konnte das nachvollziehen, dass sandbox hinzugefügt wird und irgendwann die Map im Frontend nicht mehr angezeigt wurde.
Man könnte das umgehen durch
- Modul Code2 installieren
- Abschnitt Typ Code2 zur Seite hinzufügen
- den iframe Code da eintragen, vorher den Abschnitt von PHP auf HTML umschalten

Wenn die Map irgendwo mitten im Text erscheinen muss, dann über Droplet Sectionpicker versuchen den Code2 Abschnitt im Wysiwyg zu laden.
[[sectionpicker?sid=123]]  (123 ist die Section ID des Code2 Abschnittes)
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: sternchen8875 on January 23, 2025, 11:22:21 PM
Nur, weil es zum Thema passt...
möchte man das sandbox-Attribut im Iframe-Plugin des CKEditors (ab Vers 4.21) nicht mehr haben, muß man die Datei /modules/ckeditor/ckeditor/ckeditor.js mit einem Editor wie z.b. Notepad++ öffnen und nach dieser Zeichenkette suchen

Code: [Select]
CKEDITOR.config.iframe_attributes={sandbox:""};
Diese muß entfent werden. Datei speichern, ggf ist das Löschen des Browsercache nötig

Im Hinterkopf behalten: ein späteres Update würde diese Änderung wieder überschreiben
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: radlerjudi on January 24, 2025, 02:54:40 PM
Also ich konnte das nachvollziehen, dass sandbox hinzugefügt wird und irgendwann die Map im Frontend nicht mehr angezeigt wurde.
Man könnte das umgehen durch
- Modul Code2 installieren
- Abschnitt Typ Code2 zur Seite hinzufügen
- den iframe Code da eintragen, vorher den Abschnitt von PHP auf HTML umschalten

Wenn die Map irgendwo mitten im Text erscheinen muss, dann über Droplet Sectionpicker versuchen den Code2 Abschnitt im Wysiwyg zu laden.
[[sectionpicker?sid=123]]  (123 ist die Section ID des Code2 Abschnittes)

Danke für diese Möglichkeit. Angesichts von ca 150 eingebundenen Karten, werde ich darüber allerdings den Überblick verlieren.
Und Sorry, dass ich mich jetzt erst melde, hate Schwierigkeiten mich im Forum anzumelden.
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: radlerjudi on January 24, 2025, 02:58:41 PM
Nur, weil es zum Thema passt...
möchte man das sandbox-Attribut im Iframe-Plugin des CKEditors (ab Vers 4.21) nicht mehr haben, muß man die Datei /modules/ckeditor/ckeditor/ckeditor.js mit einem Editor wie z.b. Notepad++ öffnen und nach dieser Zeichenkette suchen

Code: [Select]
CKEDITOR.config.iframe_attributes={sandbox:""};
Diese muß entfent werden. Datei speichern, ggf ist das Löschen des Browsercache nötig

Im Hinterkopf behalten: ein späteres Update würde diese Änderung wieder überschreiben

Danke für den Tipp, es hat funktioniert. das war auch der einfachere Weg.
Bleibt für mich die Frage, warum ändert man so etwas, denn wie ich schon schrieb, war es in den ersten Versionen von 2.13. problemlos.

Als Laie ist man damit schnell überfordert, denn eigenlich bin ich nur ein kleiner, einfacher Anwender von WB.
Title: Re: sandbox="" wird bei iframe hinzugefügt und der frame wird nicht mehr angezeigt
Post by: sternchen8875 on January 24, 2025, 04:16:53 PM
Bleibt für mich die Frage, warum ändert man so etwas, denn wie ich schon schrieb, war es in den ersten Versionen von 2.13. problemlos.

da mußt du die CKEditor-Group fragen, wir sind da auch nur Nutzer  ;-)

Wenn man sich dort etwas beliest, kommt man schnell auf Erklärungen, die vorallem die Sicherheit betreffen. Über das sandbox-Attribut kann ich z.b. zusätzliche Befugnisse mitgegeben, die ohne diese Angaben zu Fehlermeldungen oder gar dem Blockieren der Inhalte führen können - siehe dein Ergebnis

Hier gibt es eine recht gute Erläuterung zum Thema

https://web.dev/articles/sandboxed-iframes?hl=de

ich zitiere mal von diesem Abschnitt (https://web.dev/articles/sandboxed-iframes?hl=de#granular_control_over_capabilities) dort

Quote
Wenn ein iFrame ein leeres Sandbox-Attribut hat, wird das geframete Dokument vollständig in die Sandbox verschoben