Contao-Camp 2024
Seite 2 von 2 ErsteErste 12
Ergebnis 41 bis 63 von 63

Thema: X-FRAME-OPTION Probleme

  1. #41
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    27

    Standard

    Zitat Zitat von truni Beitrag anzeigen
    Habe in config.yml das einmal gelöst für eine Domain:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM https://domain.abc'
    Allerdings zickt bereits Firefox mit dieser Art Einbindung. Gemäss Foren müsste in Zukunft auf «frame-ancestors» statt «allow-from» gesetzt werden für die Kompatibilität.
    https://stackoverflow.com/a/58906523

    Wie konfigurieren wir dies in config.yml oder htaccess, kennt sich jemand aus?
    Servus,

    ich hab es mir einmal angeschaut und momentan würde ich sagen, dass du dafür NelmioSecurityBundle nicht wirklich nutzen kannst.

    Zuerst: prinzipiell unterstützt die Symfony Erweiterung CSP. Allerdings gibt es 2 Einschränkungen, wovon eine es für dich nutzlos macht:

    a) Pfad-abhängige CSP-Regeln existieren nicht - sie existieren ausschließlich für gesamte Hostnames. Das Problem: man kann nicht z.b. sagen, gib ^/test/iframe.html für alle oder eine spezifische Domain frei und den Rest nicht.
    b) Laut Beschreibung wird frame-ancestors als Parameter nicht unterstützt

    Der einfachste Weg dürfte damit erst einmal sein, dass du den Header tatsächlich mit einer .htaccess Datei anlegst.

    Gruß
    Jens

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

    Standard

    Zitat Zitat von Jens Beitrag anzeigen
    Der einfachste Weg dürfte damit erst einmal sein, dass du den Header tatsächlich mit einer .htaccess Datei anlegst.
    Response Header von Requests, die mit PHP über PHP-FPM/CGI/FastCGI verarbeitet wurden, können nicht über die Server Konfiguration des Apache nochmals verändert werden.

  3. #43
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    27

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Response Header von Requests, die mit PHP über PHP-FPM/CGI/FastCGI verarbeitet wurden, können nicht über die Server Konfiguration des Apache nochmals verändert werden.
    stimmt, daran hatte ich nicht gleich gedacht. In diesem Fall müsste man tatsächlich die Header direkt in der Vhost-Konfiguration setzen (was auch der Weg ist, den ich aktuell einschlage).

    Hat jemand von euch vielleicht eine bessere Idee, da ich persönlich das ganze in der vhost-Konfiguration eigentlich unschön finde?

    Aktuell fallen mir nur zwei weitere Wege ein:

    a) https://github.com/nelmio/NelmioCorsBundle
    b) Handarbeit in folgendem Stil:

    PHP-Code:
    <?php
    namespace XYZ\EventListener;

    use 
    Symfony\Component\HttpKernel\Event\FilterResponseEvent;

    class 
    CspHeader {
    public function 
    onKernelResponse(FilterResponseEvent $event) {
        
    $response $event->getResponse();
        
    $responseHeaders $response->headers;

        
    $responseHeaders->set('Content-Security-Policy''xyz');
        
    $event->setResponse($response);
    }
    }
    Das nur so als grobe Idee ...

    Gruß
    Jens

    Nachtrag: NelmioCorsBundle bringt einem leider auch nicht weiter, was Content-Security-Policy angeht (hatte nicht richtig hingeschaut)
    Geändert von Jens (13.12.2019 um 16:16 Uhr)

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

    Standard

    CSP kann man doch auch über das NelmioSecurityBundle setzen, oder nicht? Zumindest steht das in der README.

  5. #45
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    27

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    CSP kann man doch auch über das NelmioSecurityBundle setzen, oder nicht? Zumindest steht das in der README.
    jein, prinzipiell ja - aber leider stehen nicht alle Einstellungen zur Verfügung (z.B. das erwähnte "frame-ancestors") und es besteht auch keine Möglichkeit unterschiedliche Regeln für verschiedene Pfade zu erzeugen. Die Regeln werden nur entweder für alle Hostnames oder einen spezifischen gesetzt.

    Zumindest letzteres kann mit dem zweiten Bundle von Nelmio umgangen werden. Ob Frame-Ancestors dort zur Verfügung stehen, hab ich allerdings nicht getestet. Allerdings sollten in dem Modul wirklich alle zur Verfügung stehen.

    Gruß
    Jens
    Geändert von Jens (13.12.2019 um 16:16 Uhr)

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

    Standard

    Die Einstellung frame-ancestors wird für CSP zumindest in der README extra erwähnt.

  7. #47
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    27

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Die Einstellung frame-ancestors wird für CSP zumindest in der README extra erwähnt.
    hmm, stimmt ... mein Fehler. Ich hatte NelmioSecurityBundle und NelmioCorsBundle falsch in Erinnerung.

    Was ich allerdings richtig in Erinnerung hatte ist, dass keine Pfad-bezogenen Regeln gesetzt werden können. Also möchte man z.B. für https://www.example.org/ andere Regeln als für https://www.example.org/api/.* - dann hat man immer noch ein Problem, da man nur für unterschiedliche Hostnamen unterschiedliche Regeln setzen kann. Es macht ja leider nicht unbedingt immer Sinn, z.B. die gesamte Seite in einem iframe zu erlauben, sondern vielleicht nur bestimmte Unterseiten.

    Aus dem Stegreif würde ich allerdings sagen, dass man, wie hier im Thread schon erwähnt, über getExtensionConfig ja notfalls die Einstellungen überschreiben können sollte. Ansonsten bleibt immer noch die Variante, indem man den Header selber setzt.

    Gruß
    Jens

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

    Standard

    Ja, notfalls muss man es selbst über eben einen kernel.response Event Listener machen.

  9. #49
    Contao-Nutzer
    Registriert seit
    27.08.2014.
    Ort
    Meißen
    Beiträge
    14
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die htaccess Variante geht auf alle Fälle, die Nelmio Lösung müsste laut Doku so greifen (ungetestet)
    https://pdir.de/news/contao-4-x-fram...me.html#update
    pdir / digitalagentur // Contao Agentur | Contao Hosting | Kostenpflichtiges Modul: Maklermodul Demo (Contao Manager) | Informationen und Kaufen unter Maklermodul für Immobilienmakler
    Interessantes Contao Stammtisch Dresden | Kostenlose Contao Themes

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

    Standard

    Zitat Zitat von devster Beitrag anzeigen
    Die htaccess Variante geht auf alle Fälle
    Sicher? Auch in einem PHP-FPM/FastCGI Setup?

  11. #51
    Contao-Nutzer
    Registriert seit
    27.08.2014.
    Ort
    Meißen
    Beiträge
    14
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Sicher? Auch in einem PHP-FPM/FastCGI Setup?
    Ja sollte gehen, es kann natürlich sein das dein Hoster das in der .htaccess nicht unterstützt, hatte ich aber noch nicht den Fall.
    pdir / digitalagentur // Contao Agentur | Contao Hosting | Kostenpflichtiges Modul: Maklermodul Demo (Contao Manager) | Informationen und Kaufen unter Maklermodul für Immobilienmakler
    Interessantes Contao Stammtisch Dresden | Kostenlose Contao Themes

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

    Standard

    Hm, ja so wie es aussieht ging das nur in Apache 2.2.x nicht.

  13. #53
    Contao-Fan
    Registriert seit
    10.11.2010.
    Beiträge
    471

    Standard

    Ich knüpf hier mal an.

    die app/config/config.yml sieht bei mir wie folgt aus:
    Code:
    nelmio_security:
        csp:
            enforce:
                frame-ancestors:
                    - 'self'
                    - demo.de
    Leider erhalte ich nach wie vor noch eine Fehlermeldung, wenn ich Inhalte von "demo.de" per iFrame anzeigen lasse. Kann mir da jemand helfen?

  14. #54
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Auch ich komme nicht weiter, in einer HTML5-Seite mit der URL
    HTML-Code:
    https://subdomain01.domain01.de
    möchte ich via iFrame eine Contao 4.9 Installation mit der URL
    HTML-Code:
    https://subdomain02.domain01.de
    anzeigen und erhalte den Hinweis, dass die Contao-Site innerhalb des iFrames nicht angezeigt werden darf. Reicht hier der htaccess-Eintrag im Verzeichnis /web der Contao-Installation, wie muss der aussehen und muss ich sonst noch was tun? Dieser htaccess-Eintrag im Verzeichnis /web:
    Code:
    <IfModule mod_headers.c>
        Header always append Content-Security-Policy "frame-ancestors 'self' *.domain01.de"
    </IfModule>
    hat bisher bei mir nicht funktioniert. Hoster ist all-inkl.com. Danke für Tipps und Hinweise!

  15. #55
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Der Eintrag:
    Code:
    nelmio_security:
        csp:
            enforce:
                frame-ancestors:
                    - 'self'
                    - subdomain02.domain01.de
    in der config/config.yml funktioniert bei mir bei all-inkl.com

  16. #56
    Contao-Nutzer
    Registriert seit
    23.04.2016.
    Beiträge
    178

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen

    Der Header darf gar nicht mitgesendet werden. Du bräuchtest folgende config:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW


    Wie funktioniert das ganze bei "Contao Open Source CMS 3.5.30" ?
    Hier hab ich ja nicht die Datei app/config/config.yml ?

    Möchte einfach auf meiner Contao Seite ein Iframe einer anderen Website einbinden (die andere Website hat kein ssl)..

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

    Standard

    Zitat Zitat von LenaMaurer Beitrag anzeigen
    Möchte einfach auf meiner Contao Seite ein Iframe einer anderen Website einbinden
    Die andere Website muss die Response Header entsprechend setzen. In deiner Contao Installation kannst du da nichts ausrichten.


    Zitat Zitat von LenaMaurer Beitrag anzeigen
    (die andere Website hat kein ssl)..
    Dann darf auch deine Website kein HTTPS Protokoll benutzen, was natürlich nicht empfehlenswert ist. Die andere Website muss ein SSL Zertifikat zur Verfügung stellen.
    » sponsor me via GitHub or PayPal or Revolut

  18. #58
    Contao-Nutzer Avatar von Frankkirsch
    Registriert seit
    27.01.2010.
    Ort
    Michelstadt/Odenwald
    Beiträge
    188
    Partner-ID
    11272

    Standard Subdomain verwenden für Clickjacking

    Ich habe eine Impressum-Widget, dass ich gerne bei meinen Webseiten per iFrame einbetten möchte.
    Mit diesem Code klappt das auch.

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW
    Ich habe das Widget allerdings auf eine Subdomain angelegt https://widget.domain.de (über die normale Seite
    erhalte ich die Cookie-Abfrage). Ich weiß allerdings nicht, wie ich den Pfad hier benennen soll. So geht es nicht.
    Vielleicht hat ja jemand eine Idee.

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^widget.domain/.*': ALLOW

  19. #59
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    27

    Standard

    Zitat Zitat von Frankkirsch Beitrag anzeigen
    Ich habe eine Impressum-Widget, dass ich gerne bei meinen Webseiten per iFrame einbetten möchte.
    Mit diesem Code klappt das auch.

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW
    Ich habe das Widget allerdings auf eine Subdomain angelegt https://widget.domain.de (über die normale Seite
    erhalte ich die Cookie-Abfrage). Ich weiß allerdings nicht, wie ich den Pfad hier benennen soll. So geht es nicht.
    Vielleicht hat ja jemand eine Idee.

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^widget.domain/.*': ALLOW
    Servus,

    ich selber habe es zwar per PHP in einem Widget-Plugin gesetzt (daher ohne Pistole, Gewehr oder sonst etwas in der Art :-P), aber im Endeffekt sollte die Konfiguration wie folgt aussehen:

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/pfad/.*': ALLOW
                '^/.*': DENY
            hosts:
                - '^widget\.domain$'
    Gruß,
    Jens

  20. #60
    Contao-Nutzer
    Registriert seit
    01.11.2019.
    Beiträge
    28

    Standard

    Ich bilde mir ein, mehrfach alles in diesem Thread durchgegangen zu sein. Ich möchte gern ein Video einer fremden Domain als iframe einbinden und erhalte

    Refused to display 'https://app.slidepresenter.com/presentations/xxyz' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

    Meine config,yml sieht so aus:

    Code:
    doctrine:
        dbal:
            connections:
                default:
                    default_table_options:
                        charset: utf8
                        collation: utf8_unicode_ci
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW
    Ich poste sie mal ganz für den Fall, dass irgendwo noch was anders eingerückt sein müsste.

    Bei mir läuft Contao 4.13.23.

    Die unmittelbar vor diesem Beitrag stehende Lösung funktioniert bei mir nicht. "hosts" wird abgelehnt.

    Wenn ich es richtig verstehe, ist keine Änderung der htaccess oder sowas nötig. Ich verstehe einfach nicht, was ich falsch mache und bin für jeden Tipp dankbar.

    Den Production Cache habe ich über den Contao-Manager neu erstellen lassen.
    Geändert von Pilz (15.06.2023 um 14:28 Uhr)

  21. #61
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    232
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn die Seite unter app.slidepresenter.com die Einbindung nicht erlaubt, kannst du da einstellen was du willst, wird nicht funktionieren.
    In dem Thread hier geht es um die Einbindung einer Contao Seite auf einer externen Seite, also genau das Gegenteil von dem was du willst.

  22. #62
    Contao-Nutzer
    Registriert seit
    01.11.2019.
    Beiträge
    28

    Standard

    Zitat Zitat von lbableck Beitrag anzeigen
    Wenn die Seite unter app.slidepresenter.com die Einbindung nicht erlaubt, kannst du da einstellen was du willst, wird nicht funktionieren.
    In dem Thread hier geht es um die Einbindung einer Contao Seite auf einer externen Seite, also genau das Gegenteil von dem was du willst.
    Oh Mann, ich bin so bescheuert. Jetzt macht das alles auch Sinn für mich Vielen Dank.

  23. #63
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.682
    User beschenken
    Wunschliste

    Standard

    ich muss eine Contao-Seite als iFrame zulassen - mit

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW
    in der config.yml ist die Browsermeldung weg und die Seite wird angezeigt...

    Das Contao ist eine Multi-Domain-Installation und ich würde die Freigabe gern nur auf eine Domain bzw. Startpunkt begrenzen - geht sicher... in den Postings konnte ich es nicht finden.

    Edit:
    siehe Clickjacking Protection

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/iframes/': ALLOW
                '^/.*': DENY
            content_types: []
            hosts:
                - '^foo\.com$'
                - '\.example\.org$'


    Update:
    Auf der als iFrame anzuzeigender Seite ist ein MP_Forms eingebaut... wenn man das als iFrame sich ansieht und ausführt, kommt es bei Anzeige des 2. Step[p]s zu einem Error wg. CSRF-Token... im vorhergehenden Step ist der Token aber als hidden field mit bei... hab mal die Prüfung angestellt und alles geht wieder ... schöner wäre, wenn das auch mit Prüfung ginge

    Update II:
    bei dem MP_Form sollten im letzten Stepp die Werte angezeigt werden - bei FF ging das in Chrome und Edge nicht... mit dem Eintrag aus #18 geht dann auch das wieder

    Code:
    # .htaccess
    <IfModule mod_headers.c>
      Header always append Content-Security-Policy "frame-ancestors 'self' http://www.quandoo-partner.com https://www.quandoo-partner.com"
    </IfModule>

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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