Ergebnis 1 bis 35 von 35

Thema: Einbindung in iframe erlauben

  1. #1
    Contao-Nutzer
    Registriert seit
    20.07.2022.
    Beiträge
    5

    Frage Einbindung in iframe erlauben

    Hallo,

    ich möchte einer "Fremddomain" erlauben, meine Seite in einem iframe darzustellen.

    Ich habe nun schon viel über CORS, Content-Security-Policy, etc. gelesen.
    Leider ist mir nach wie vor nicht klar, was ich alles konfigurieren muss.

    Kann mir jemand erklären, was genau ich in meiner Contao-Konfiguration einstellen und ggf. in der .htaccess hinterlegen muss?

    Danke & Grüße

  2. #2
    Contao-Nutzer
    Registriert seit
    18.06.2014.
    Beiträge
    146

    Standard

    Kann man das überhaupt? Verhindern, dass eine andere Seite Deine einbindet?

  3. #3

  4. #4
    Contao-Nutzer
    Registriert seit
    20.07.2022.
    Beiträge
    5

    Standard

    Danke. Den Artikel hatte ich auch schon gefunden. Da gibt es viele Ideen und "Ansätze".
    Aber ich hatte gehofft, dass es eine "offizielle" oder finale Lösung gibt, die man verlässlich und ohne Risiko umsetzten kann ...

    - - - Aktualisiert - - -

    Zitat Zitat von amateur Beitrag anzeigen
    Kann man das überhaupt? Verhindern, dass eine andere Seite Deine einbindet?
    Ich will es nicht "verhindern" (Dafür sorgen schon die Browser), sondern erlauben...

  5. #5
    Contao-Fan Avatar von BennyBorn
    Registriert seit
    10.06.2011.
    Ort
    Edenkoben
    Beiträge
    296
    Partner-ID
    6916

    Standard

    Zitat Zitat von cont772 Beitrag anzeigen
    Danke. Den Artikel hatte ich auch schon gefunden. Da gibt es viele Ideen und "Ansätze".
    Aber ich hatte gehofft, dass es eine "offizielle" oder finale Lösung gibt, die man verlässlich und ohne Risiko umsetzten kann ...
    Die Lösung von Spooky ist die "offizielle" Lösung. Verhindert wird die Einbettung durch das Nelmio Security Bundle und über entsprechende Anpassungen in der config/config.yml kann man es eben ändern

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM https://www.example.org'

  6. #6
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    353

    Standard

    Zitat Zitat von BennyBorn Beitrag anzeigen
    Die Lösung von Spooky ist die "offizielle" Lösung. Verhindert wird die Einbettung durch das Nelmio Security Bundle und über entsprechende Anpassungen in der config/config.yml kann man es eben ändern

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM https://www.example.org'

    https://developer.mozilla.org/en-US/...tiredLocale=de
    ALLOW-FROM=url
    This is an obsolete directive that no longer works in modern browsers
    Gibt es eine zuverlässige und zeitgemässe Lösung dafür?

  7. #7
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    590
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich hatte das Problem neulich auch und habe es ebenfalls über die `config/config.yml` gelöst:

    Code:
    nelmio_security:
      csp:
        enabled: true
        enforce:
          frame-ancestors:
            - https://www.example.de
    Viele Grüße
    René
    Software-Entwickler Backend/Frontend

  8. #8
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    353

    Standard

    Zitat Zitat von Fehrmann Beitrag anzeigen
    Ich hatte das Problem neulich auch und habe es ebenfalls über die `config/config.yml` gelöst:

    Code:
    nelmio_security:
      csp:
        enabled: true
        enforce:
          frame-ancestors:
            - https://www.example.de
    Viele Grüße
    René
    Danke für den Tipp – falls die angestrebte Lösung nicht funktioniert, werde ich das gerne probieren. https://www.example.de wäre dann die Domain der Ausgabeseite?

  9. #9
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    590
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von ChrisT Beitrag anzeigen
    Danke für den Tipp – falls die angestrebte Lösung nicht funktioniert, werde ich das gerne probieren. https://www.example.de wäre dann die Domain der Ausgabeseite?
    Das wäre die Domain, auf der deine Seite als iFrame eingebunden werden soll.
    Software-Entwickler Backend/Frontend

  10. #10
    Contao-Nutzer
    Registriert seit
    24.03.2020.
    Beiträge
    27

    Standard

    Zitat Zitat von Fehrmann Beitrag anzeigen
    Ich hatte das Problem neulich auch und habe es ebenfalls über die `config/config.yml` gelöst:

    Code:
    nelmio_security:
      csp:
        enabled: true
        enforce:
          frame-ancestors:
            - https://www.example.de
    Viele Grüße
    René
    Hallo Rene, hat sich mittlerweile etwas an der Syntax geändert.
    Bei mir klappt der Eintrag mit entsprechender Domain und Anwendungscache erneuern leider nicht. (Contao 4.13.19)

  11. #11
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    590
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hi,

    wir haben das nur bei einem Projekt aktuell im Einsatz (derzeit 4.13.18) und dort funktioniert die Einstellung so wie bereits dargestellt (gerade nochmal gecheckt).

    Was sagt denn auf der Seite mit dem iFrame die Entwickler-Konsole für den Request? (meist steht dort dann, abgelehnt wegen CSP sowieso)

    Gruss
    René
    Software-Entwickler Backend/Frontend

  12. #12
    Contao-Nutzer
    Registriert seit
    24.03.2020.
    Beiträge
    27

    Standard

    Zitat Zitat von Fehrmann Beitrag anzeigen
    Hi,

    wir haben das nur bei einem Projekt aktuell im Einsatz (derzeit 4.13.18) und dort funktioniert die Einstellung so wie bereits dargestellt (gerade nochmal gecheckt).

    Was sagt denn auf der Seite mit dem iFrame die Entwickler-Konsole für den Request? (meist steht dort dann, abgelehnt wegen CSP sowieso)

    Gruss
    René
    Hier kommt:
    refused to frame 'https://besser-zum-druck.de/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://app.visitlead.com".

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Zitat Zitat von Druckfrosch Beitrag anzeigen
    Hier kommt:
    refused to frame 'https://besser-zum-druck.de/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://app.visitlead.com".
    Poste deine aktuelle config.yml
    » sponsor me via GitHub or Revolut

  14. #14
    Contao-Nutzer
    Registriert seit
    24.03.2020.
    Beiträge
    27

    Standard

    Zitat Zitat von Druckfrosch Beitrag anzeigen
    Hier kommt:
    refused to frame 'https://besser-zum-druck.de/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://app.visitlead.com".
    Es lag an der Domain. Richtig war https://app.visitlead.de

    Danke

  15. #15
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    396

    Standard Geht bei mir leider auch nicht (Contao 4.13)

    Hi.. ich habe nun folgendes gemacht:
    -Den Ordner "config" im Root Verzeichnis angelegt (also selbe ebene wie Public)
    -Dort die Datei "config.yml" angelegt
    -Dort folgendes reingeschrieben
    PHP-Code:
    nelmio_security:
      
    csp:
        
    enabledtrue
        enforce
    :
          
    frame-ancestors:
            - 
    https://meinedomain.de 
    -Cache hatte ich auch geleert

    Sobald ich die Seite, wo ich diese per iframe anziehen will öffne, steht immer noch, dass "meinedomain.de" die Verbindung abgelehnt hat.
    Hat sich da zwischenzeitlich etwas geändert?
    Danke und LG

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Du hast zwei mal meinedomain.de geschrieben. Welche Domain hast du nun in der Config eingetragen?
    » sponsor me via GitHub or Revolut

  17. #17
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    396

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du hast zwei mal meinedomain.de geschrieben. Welche Domain hast du nun in der Config eingetragen?
    Also

    Anzuzeigende SubDomain: https://infopoint.meinedomain.de
    Diese soll auf einem Infoterminal angezeigt werden, der die externen Seiten in einem iframe lädt.

    in die comfig.yml auf der Root ebene der Seite, die per iframe angezeigt werden soll, habe ich auch genau diese Domain eingetragen z.b. https://infopoint.meinedomain.de

    Wenn ich am Infoterminal diese Seite anschauen will (Vorschau kann man per software über den Browser bewerkstelligen) kommt die Fehlermeldung, "infopoint.meinedomain.de hat die Verbindung abgelehnt" (in Google Chrome)

    bei Contao Seiten bis 4.13 funktioniert das und ab 4.4 wird die Verbindung nicht mehr erlaubt - soweit konnte ich das schon einschränken

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Poste mal die echte Seite.
    » sponsor me via GitHub or Revolut

  19. #19

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Dort sind aktuelle keine <iframe>s eingebunden.
    » sponsor me via GitHub or Revolut

  21. #21
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    396

    Standard

    Hier mal eine testseite.

    https://www.lungau-point.at/iframe.html

    Als iframe wurde

    https://infopoint.naturpark-riedintal.at

    eingetragen

    Firefox, Safari und Chrome zeigen den iframe nicht an..

  22. #22
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Bei https://infopoint.naturpark-riedintal.at/ hast du den Default X-Frame-Options: SAMEORIGIN Header drin. Das musst du wie hier im Thread weiter oben beschrieben ändern.
    » sponsor me via GitHub or Revolut

  23. #23
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    396

    Standard Nochmals

    ich habe nun das hier nochmals nei in eine config.yml gelegt...

    PHP-Code:
    nelmio_security:
      
    csp:
        
    enabledtrue
        enforce
    :
          
    frame-ancestors:
            - 
    https://infopoint.naturpark-riedingtal.at 
    anbei ein screen wo das teil liegt ... Es ändert sich nichts.. Die Seite kann nicht angeziegt werden

    Irgendwo habe ich wohl einen Knoten drin..

    Bildschirmfoto 2024-11-27 um 12.21.34.png

  24. #24
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Wie schon erwähnt geht es um den X-Frame-Options Header. Du musst, wie weiter oben im Thread schon erwähnt, wenn dann folgendes machen: https://community.contao.org/de/show...l=1#post454621
    » sponsor me via GitHub or Revolut

  25. #25
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    396

    Standard Jetzt mal genauer

    Hab mir das mal alles soweit durchgelsen und habe nun folgendes bei der infopoint.naturpark-riedingtal.at in die config.yml geschrieben:


    PHP-Code:
    nelmio_security:
        
    clickjacking:
            
    paths:
                
    '^/lorem/ipsum/dolor.html$'ALLOW 

    Diese Seite habe ich auf der Seite

    https://www.lungau-point.at/iframe.html

    per iframe eingebaut.

    Der Frame lautet

    PHP-Code:
    <iframe src="https://infopoint.naturpark-riedingtal.at" width="900" height="400">
    </
    iframe
    Auf der Lungau-point Seite habe ich auch dei den tags <iframe> angelegt und bei den Sicherheitseinstellungen "height,name,src,width" hinzugefügt.

    Auf der infopoint.naturpark-riedingtal.at habe ich per FTP den Prod und DEV Cache gelöscht.

    Ergebnis: Der iframe wird auf der testseite nicht angezeigt Ergo.. ich bin mit meinem Wissen am Ende.

  26. #26
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    Du hast jetzt nur /lorem/ipsum/dolor.html erlaubt als iframe eingebunden zu werden.
    » sponsor me via GitHub or Revolut

  27. #27
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    396

    Standard Yeah!!!

    Also auf meiner Testseite gehts.. jetzt mal bei den Display Leuten nachhaken!!
    Danke Dir Spooky
    Was kann ich Dir Gutes tun??

  28. #28
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    206

    Standard ebenfalls iframe-Problem

    Hallo,

    ich habe auch das iframe-Problem:
    Mit dem Toolbaukasten von Appyourself soll eine App erstellt werden, die auf die eigene Website (Contao 4.13.35) per iframe zugreift.
    Ich habe nach Anleitung sowohl im Root-Verzeichnis (/config/config.yml) als auch unter system/config/config.yml die entsprechenden Angaben gemacht und den Cache geleert. Leider ohne Erfolg.

    Code:
    nelmio_security:
      csp:
        enabled: true
        enforce:
          frame-ancestors:
            - https://www.meine_website.de
    https://www.meine_website.de ist die Seite, die per iframe eingebunden werden darf/soll. Wo genau soll die yml-Datei liegen?

    Roland

  29. #29
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    3.038

    Standard

    Zitat Zitat von RoGer Beitrag anzeigen
    Mit dem Toolbaukasten von Appyourself soll eine App erstellt werden, die auf die eigene Website (Contao 4.13.35) per iframe zugreift.
    Dann musst Du die Einstellungen(das per iFrame einbinden erlauben) bei Appyourself machen.

    Die weiter oben diskutierten Fälle waren au anders herum: Contao einer anderen Site die Einbindung erlauben lassen.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  30. #30
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    206

    Standard

    Vielen Dank für deine Antwort.

    Zunächst: Ich selbst bin nicht der App-Entwickler.

    In einer App soll eine bestehende Contao-Website (Contao 4.13.35) erscheinen bzw. eingebunden werden. Daher muss ich der Contao-Website ausdrücklich mitteilen, dass sie (z.B. durch die App) eingebunden werden darf. Andersherum macht eigentlich keinen Sinn... oder verstehe ich das falsch ?
    Geändert von RoGer (19.12.2024 um 11:44 Uhr)

  31. #31
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    3.038

    Standard

    Zitat Zitat von RoGer Beitrag anzeigen
    In einer App soll eine bestehende Contao-Website (Contao 4.13.35) erscheinen bzw. eingebunden werden. Daher muss ich der Contao-Website ausdrücklich mitteilen, dass sie (z.B. durch die App) eingebunden werden darf. Andersherum macht eigentlich keinen Sinn... oder verstehe ich das falsch ?
    Nein, das klingt richtig. Ich hatte

    Zitat Zitat von RoGer Beitrag anzeigen
    Hallo,

    Mit dem Toolbaukasten von Appyourself soll eine App erstellt werden, die auf die eigene Website (Contao 4.13.35) per iframe zugreift.
    wohl falsch verstanden. Jetzt, wo ich es nochmal lese: "die auf die eigene ..." habe ich wohl als "auf die die eigene ..." gelesen. Sorry!

    Zu Deinem Problem: Du musst Contao dann sagen, daß die andere Website (die App) Deine Website per Frame verwenden darf. Mit Deiner Einstellung

    Code:
    nelmio_security:
      csp:
        enabled: true
        enforce:
          frame-ancestors:
            - https://www.meine_website.de
    würdest Du es ja Dir selbst erlauben, was wenig Sinn ergibt.

    Anstelle https://www.meine_website.de müsste dort die URL der App stehen (wie auch immer das bei einer App geht).
    Geändert von fiedsch (27.12.2024 um 16:42 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  32. #32
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    206

    Standard

    Nach kurzer Unterbrechung widme ich mich wieder dem iframe-Problem.

    Nachdem der Eintrag
    Code:
    nelmio_security:
      csp:
        enabled: true
        enforce:
          frame-ancestors:
            - https://www.meine_website.de
    keine Änderung brachte, habe ich in der .htaccess folgendes eingesetzt:
    Code:
    <IfModule mod_headers.c>
        Header set X-Frame-Options GOFORIT
    </IfModule>
    Auch OHNE Erfolg !

    Trotzdem habe ich noch ein iframe-Problem:

    Ich habe testweise zwei HTML-Element eingebunden (Zeilen oben)
    Darunter ist das Ergebnis im Quellcode und darunter im FRontend zu sehen.
    Warum funktioniert der <a>-Link und nicht der <iframe> ?

    Angehängte Grafiken Angehängte Grafiken

  33. #33
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.159
    Partner-ID
    10107

    Standard

    <iframe> musst du zuerst in den Sicherheitseinstellungen erlauben.
    » sponsor me via GitHub or Revolut

  34. #34
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    206

    Standard

    Ok, bei den Attributen war es vorhanden, bei "Erlaubte HTML-Tags" NICHT.

    Das urspüngliche Problem (siehe oben) bleibt allerdings bestehen...
    Der iframe wird mit folgendem Inhalt angezeigt:

    Geändert von RoGer (28.12.2024 um 14:21 Uhr)

  35. #35
    Wandelndes Contao-Lexikon Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    10.183
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von RoGer Beitrag anzeigen
    Ich habe testweise zwei HTML-Element eingebunden (Zeilen oben)
    Darunter ist das Ergebnis im Quellcode und darunter im FRontend zu sehen.
    Warum funktioniert der <a>-Link und nicht der <iframe> ?
    Als Alternative zu iFrame erlauben lege ich ein eigenes Template an z. B. ce_html_iframe_xy.html5, welches ich in dem CE HTML auswähle - in den Eingabebereich schreibe ich einen HTML-Kommentar wie

    PHP-Code:
    <!-- iFrame zur Einbindung von Seite XY --> 
    Damit ist eine Info in der Auflistung der CEs zu sehen, was das ist...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •