Contao-Camp 2024
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 40 von 63

Thema: X-FRAME-OPTION Probleme

  1. #1
    Contao-Nutzer Avatar von tshellshock
    Registriert seit
    07.09.2009.
    Ort
    Leipzig
    Beiträge
    32

    Standard X-FRAME-OPTION Probleme

    Hallo zusammen,

    ich versuche gerade eine Contao 4.4 Seite via <iframe> auf einer "externen" Seite einzubinden.
    Beide Seiten haben die gleiche Domain, die Contao Seite auf einer Subdomain bei 1&1, die externe Seite mittles A-Record auf bei einem anderen Hoster.
    Beider haben ein HTTPS-Protokoll.

    Da die Sicherheitseinstellungen von Contao 4 das laden auf externen Seiten verhindern, würde ich das laden im <iframe> gerne über die htaccess im /root/web und HTTP-Header Befehl X-Frame-Options ermöglichen.

    Leider sind die bisherigen Versuche gescheitert.

    Code:
    Header always append X-Frame-Options ALLOW-FROM domain.de
    verursacht einen 500 Internal Server Error error.
    Code:
    Header always append X-Frame-Options SAMEORIGIN
    funktioniert ja nicht weil anderer Server/Hoster.

    Kann mir jemand einen Rat geben wie ich das hin bekomme.

    Vielen Dank im Voraus

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

    Standard

    Dazu musst du das entsprechende Bundle in deiner app/config/config.yml konfigurieren. Die Default Einstellungen der Contao Managed Edition findest du hier: https://github.com/contao/manager-bu...ig.yml#L74-L88

    Theoretisch müsstest du also folgendes in deine app/config/config.yml einfügen:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM https://www.example.org'
    Siehe https://github.com/nelmio/NelmioSecu...ing-protection
    Geändert von Spooky (24.07.2018 um 11:01 Uhr)

  3. #3
    Contao-Nutzer Avatar von tshellshock
    Registriert seit
    07.09.2009.
    Ort
    Leipzig
    Beiträge
    32

    Standard

    Hi Spooky,

    vielen Dank für deine schnelle Hilfe!

    Leider funktioniert es nicht. In /app/config gab es auch keine config.yml. Da habe ich natürlich eine erstellt und entsprechend deines Vorschlags/NelmioSecurityBundle konfiguriert.

    Ich kenne mich damit überhaupt nicht aus , daher die Frage muss ich in der htaccess trotzdem die

    Code:
    Header always append X-Frame-Options ALLOW-FROM domain.de
    und wenn Ja, dann hier:
    Code:
    <IfModule mod_headers.c>
        # Allow access from all domains for webfonts (see contao/core-bundle#528)
        <FilesMatch "\.(ttf|ttc|otf|eot|woff2?|font\.css)$">
            Header set Access-Control-Allow-Origin "*"
        </FilesMatch>
    </IfModule>
    
    Header always append X-Frame-Options ALLOW-FROM domain.de
    ?

    Danke dir

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

    Standard

    Die .htaccess Einstellungen bringen nichts (in den meisten Fällen). Du musst wie gesagt das nelmio_security Bundle konfigurieren.

  5. #5
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    Ich hab grad kein C4 vor mir, ist das nelmio/security-bundle Bestandteil der Managed Edition per Abhängigkeit oder muss man das noch selber installieren?
    (composer require nelmio/security-bundle)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

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

  7. #7
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.477
    User beschenken
    Wunschliste

    Standard

    Achja, da hätte ich auch mal reinschauen können. Danke.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  8. #8
    Contao-Nutzer Avatar von tshellshock
    Registriert seit
    07.09.2009.
    Ort
    Leipzig
    Beiträge
    32

    Standard

    Hmm... dann werde ich wohl noch bisschen ausprobieren und testen müssen.

    Vielen Dank nochmal

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

    Standard

    Warum? Funktioniert es noch nicht?

  10. #10
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.545
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tshellshock Beitrag anzeigen
    Leider funktioniert es nicht.
    Cache var/cache bzw. var/cache/prod gelöscht?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  11. #11
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.788

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Dazu musst du das entsprechende Bundle in deiner app/config/config.yml konfigurieren. Die Default Einstellungen der Contao Managed Edition findest du hier: https://github.com/contao/manager-bu...o_security.yml

    Theoretisch müsstest du also folgendes in deine config.yml einfügen:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM https://www.example.org'
    Siehe https://github.com/nelmio/NelmioSecu...ing-protection
    Das funktioniert zwar, aber jetzt werden die Modalfenster z.B. bei FileMounts/PageMounts in den Benutzergruppen blockiert.

    config.yml:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM http://xxx.de'
    Prompt bleiben die Modalfenster leer. In der Konsole steht:
    Code:
    TypeError: quads is undefined[Weitere Informationen]  box-model.js:413:9
    Sicherheitsfehler: Inhalt auf http://xxx.de/ darf keine Daten von https://www.schachbund.de/contao?do=group&act=edit&id=30&rt=OkfgoTXdQyiPYxOlZ8IsdRXa3TvZlRffdBMOlQ9uYVM&ref=0qI74TUA laden.
    Load denied by X-Frame-Options: http://xxx.de/ does not permit framing by https://www.schachbund.de/contao?do=group&act=edit&id=30&rt=OkfgoTXdQyiPYxOlZ8IsdRXa3TvZlRffdBMOlQ9uYVM&ref=0qI74TUA.
    Und nicht nur diese Modalfenster bleiben leer. Auch die FE-Vorschau hat sich verabschiedet:
    Code:
    Unchecked lastError value: Error: Could not establish connection. Receiving end does not exist.  ExtensionCommon.jsm:306
    Unchecked lastError value: Error: Could not establish connection. Receiving end does not exist.  ExtensionCommon.jsm:306
    Sicherheitsfehler: Inhalt auf http://xxx.de/ darf keine Daten von https://www.schachbund.de/contao/preview laden.
    Load denied by X-Frame-Options: http://xxx.de/ does not permit framing by https://www.schachbund.de/contao/preview.  (unbekannt)
    Sicherheitsfehler: Inhalt auf http://xxx.de/ darf keine Daten von https://www.schachbund.de/contao/preview laden.
    Load denied by X-Frame-Options: http://xxx.de/ does not permit framing by https://www.schachbund.de/contao/preview.
    Ich nehme an, die anderen Frames sind auch betroffen. Entweder ist an der paths-Anweisung in der config.yml was falsch (erlaubt ist nur noch xxx.de, also auch die eigene Domain ist nicht mehr erlaubt) oder diese Konfigurationsmöglichkeit ist generell falsch. Über .htaccess geht es ja leider nicht mehr in C4. erzeugt bei mir wie beim TO einen 500er.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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

    Standard

    Was genau steht in deiner config.yml? Vermutlich nicht xxx.de?


    Zitat Zitat von Samson1964 Beitrag anzeigen
    Über .htaccess geht es ja leider nicht mehr in C4.
    Je nach dem wie PHP bei deinem Webserver ausgeführt wird, geht das gar nicht über die .htaccess, unabhängig von der PHP Webapplikation, die du betreibst.

  13. #13
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.788

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Was genau steht in deiner config.yml? Vermutlich nicht xxx.de?
    Code:
    # This file has been auto-generated during installation
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': 'ALLOW-FROM http://zugzwang-muenchen.de'
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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

    Standard

    Du scheinst das Backend aber über www.schachbund.de aufgerufen zu haben. Leider kann man bei X-Frame-Options nicht mehrere, spezifische Domains erlauben. Du müsstest also alle erlauben.
    Geändert von Spooky (04.01.2018 um 14:22 Uhr)

  15. #15
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.788

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du scheinst das Backend aber über www.schachbund.de aufgerufen zu haben.
    Worüber auch sonst?!
    Zitat Zitat von Spooky Beitrag anzeigen
    Leider kann man bei X-Frame-Options nicht mehrere, spezifische Domains erlauben. Du müsstest also alle erlauben.
    Bisher habe ich X-Frame-Options so verstanden: Diese Header-Kopfzeile wird mit der Antwort mitgeschickt und schachbund.de erlaubt zugzwang-muenchen.de, die Seiten von schachbund.de in einem (i)frame einzubinden. Das funktioniert auch wunderbar. Nur habe ich durch diese Kopfzeile alle Frames blockiert wenn schachbund.de schachbund.de einbinden will. Kommentiere ich die Zeilen aus, funktioniert Contao wieder und zugzwang-muenchen.de wird ausgesperrt.
    Wie müßte denn die Zeile aussehen?
    Code:
    '^/.*': 'ALLOW-FROM *'
    Bekommt dann jede externe Website Zugriff und natürlich auch die eigene Domain?

    EDIT: ALLOW-FROM * ist Quatsch. Da funktionieren beide Webseiten nicht. Es gibt aber keine JS-Fehler. Ich würde sagen, die Anweisung ist einfach ungültig.
    Geändert von Samson1964 (04.01.2018 um 14:40 Uhr)
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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

    Standard

    Zitat Zitat von Samson1964 Beitrag anzeigen
    Worüber auch sonst?!
    Du hast ja mehrere Möglichkeiten bei einer Multi-Domain Installation.


    Zitat Zitat von Samson1964 Beitrag anzeigen
    Worüber auch sonst?!

    Bisher habe ich X-Frame-Options so verstanden: Diese Header-Kopfzeile wird mit der Antwort mitgeschickt und schachbund.de erlaubt zugzwang-muenchen.de, die Seiten von schachbund.de in einem (i)frame einzubinden.
    Mit X-Frame-Options: ALLOW-FROM http://zugzwang-muenchen.de/ erlaubst du, dass nur zugzwang-muenchen.de iframes dieser Webapplikation einbinden kann.

    Übrigens, ALLOW-FROM wird nicht von allen Browsern unterstützt.



    Zitat Zitat von Samson1964 Beitrag anzeigen
    Wie müßte denn die Zeile aussehen?
    Code:
    '^/.*': 'ALLOW-FROM *'
    Bekommt dann jede externe Website Zugriff und natürlich auch die eigene Domain?

    EDIT: ALLOW-FROM * ist Quatsch. Da funktionieren beide Webseiten nicht. Es gibt aber keine JS-Fehler. Ich würde sagen, die Anweisung ist einfach ungültig.
    Der Header darf gar nicht mitgesendet werden. Du bräuchtest folgende config:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW

  17. #17
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.788

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du hast ja mehrere Möglichkeiten bei einer Multi-Domain Installation.
    Ich wollte gerade schreiben, das ist ja keine mehr. Aber stimmt nicht. Es sind nur ein paar weniger geworden.

    Der neue Code funktioniert übrigens. Danke Spooky!
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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

    Standard

    Um die Sicherheit ein wenig zu steigern könntest du nur den genauen Pfad freigeben. Wenn der iframe zB die URL https://www.schachbund.de/lorem/ipsum/dolor.html einbindet, könntest du folgende config nehmen:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/lorem/ipsum/dolor.html$': ALLOW
    (ungetestet)

  19. #19
    Contao-Fan
    Registriert seit
    21.12.2009.
    Beiträge
    445

    Multimedia

    Hallo zusammen,

    ich hänge mich mal an diesen Post dran, in der Hoffnung richtig zu sein

    Ich habe eine Contao Seite auf Contao 4.4.x umgestellt. Inhalte dieser Seite werden auf mehreren anderen Seiten via Iframe eingebunden. Seit der Umstellung auf Contao 4.4.x klappt das nicht mehr - der IFrame bleibt leer und in der Chrome Console wird folgendes angezeigt:

    HTML-Code:
    Refused to display 'https://##.de/frame.html' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
    Ich steh mit dem Thema Headers ehrlich gesagt etwas auf Kriegsfuß - daher einfach die Frage: Wie muss ich den Header setzen, dass diese Seiten wieder als IFrame angezeigt werden können.

    Danke euch
    Viele Grüße aus dem Süden
    creativx
    ---- Planung ist Ersatz des Zufalls durch den Irrtum ----

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

    Standard

    Hast du die anderen Posts gelesen? Was genau benötigst du noch?

  21. #21
    Contao-Fan
    Registriert seit
    21.12.2009.
    Beiträge
    445

    Standard

    gelesen ja.. aber wahrscheinlich nicht wirklich verstanden

    Vielleicht hier kurz mein Ansatz:

    PHP-Code:
        public function onKernelResponse(FilterResponseEvent $event)
        {
            if(
    strpos($event->getRequest()->getPathInfo(), 'display/frame' ) >=1) {

                
    /** @var Response $response */
                
    $response $event->getResponse();
                
    // $response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);
            
    }
        } 
    Also das headers->set.. ist natürlich Blödsinn, hatte ich nur mal rein geschrieben um zu schauen, ob ich den Header setzen kann. Mal angenommen die Domain von der Seite die als IFrame angezeigt werden soll heisst "testdomain.de" - müsste ich dann hier das "Allow from testdomain.de" einsetzen?

    Also kann ich mit dem Headereintrag der "fremden" Seite sagen "ja von mir darfst du Inhalte anzeigen" ?
    Viele Grüße aus dem Süden
    creativx
    ---- Planung ist Ersatz des Zufalls durch den Irrtum ----

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

    Standard

    Du brauchst keinen extra Event Listener. Du musst einfach nur wie beschrieben deine app/config/config.yml anpassen.

  23. #23
    Contao-Fan
    Registriert seit
    21.12.2009.
    Beiträge
    445

    Standard

    super - hat gepasst. Vielen Dank!
    Viele Grüße aus dem Süden
    creativx
    ---- Planung ist Ersatz des Zufalls durch den Irrtum ----

  24. #24
    Contao-Nutzer
    Registriert seit
    03.08.2017.
    Beiträge
    2

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Um die Sicherheit ein wenig zu steigern könntest du nur den genauen Pfad freigeben. Wenn der iframe zB die URL https://www.schachbund.de/lorem/ipsum/dolor.html einbindet, könntest du folgende config nehmen:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/lorem/ipsum/dolor.html$': ALLOW
    (ungetestet)
    Hallo,

    mit ist es nicht möglich für eine spezifische Unterseite die Einstellungen anzuwenden. Beispiel: Ich möchte für die Seite https://example.com/testseite den Wert ändern.
    Code:
     '^/testseite': ALLOW
    hat leider keine Auswirkung.

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

    Standard

    Hast du den Symfony Application Cache danach neu aufgebaut?

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

    Frage

    Hallo,

    sorry, wenn ich mich hier etwas anhänge - allerdings kämpfe ich aktuell mit einem ähnlichen Problem. Installiert ist Contao 4.4.39 in der managed Edition.

    Ich hab eine eigene Extension entwickelt und diese wiederum legt eine eigene Route an über route.yml die wie folgt aussieht:

    Code:
    xyz_widgethtml:
        path: /ip/homepagewidget.html
        defaults:
            _controller: MyBundle:FrontendWidget:generateWidgetHTML
            _scope: frontend
            _token_check: false
        methods: [GET]
    Im Prinzip gibt das generateWidgetHTML Action nur ein via Twig kompiliertes Template aus.

    Jetzt möchte ich wiederum, dass genau die Route kein "X-Frame-Options: SAMEORIGIN“ bekommt, da jeder Seitenbetreiber das ganze per iframe auf seiner Seite einbinden können sollte.

    Zuerst hatte ich natürlich probiert im Request-Objekt den Header-Eintrag zu löschen ( $objResponse->headers->remove('X-Frame-Options‘); ) bzw. ihn einfach zu überschreiben. Da beides nicht ging, hatte ich hier gesucht und diesen Thread gefunden.

    Wie in dem Thread empfohlen, hatte ich die config.yml angelegt mit folgendem Inhalt:

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/ip/homepagewidget.html$': ALLOW'
                '^/.*': SAMEORIGIN
    Das Ergebnis war, dass der Header-Eintrag weiterhin auf SAMEORIGIN stand. Als ich wiederum den (letzten) Wildcars-Path auf ALLOW stellte, war "X-Frame-Options“ verschwunden. Das gleiche hatte ich noch mit ein paar anderen URLs getestet, die ich direkt in Contao angelegt hatte wie z.B. "/impressum/datenschutz“. Das Ergebnis war immer das gleiche - ich bekam einfach nicht speziell für den Pfad bzw. die spezielle URL X-Frame-Options deaktiviert. Den Cache hatte ich bei jedem Test mittels contao-console cache:clear gelöscht (testweise auch einmal var/cache geleert).

    Getestet hatte ich übrigens auch '^/ip\/homepagewidget\.html$': ALLOW’ - und das Ergebnis war identisch.

    Übersehe ich hier etwas? Momentan stehe ich zumindest ziemlich auf dem Schlauch.

    Gruß,
    Jens

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

    Standard

    Servus,

    ich muss mich selber nochmal anhängen. Ich hab jetzt ein dritten Weg gefunden, der mir noch persönlich besser gefällt. Ich überschreibe jetzt die Konfiguration direkt im Bundle, wie unter https://docs.contao.org/books/extend...g-bundles.html aufgeführt.

    Eigentlich sogar der „schönere“ weg, wenn man es genau nimmt. Allerdings würde mich es dennoch einmal einmal interessieren, warum die globale Konfiguration nicht funktioniert hat.

    Gruß,
    Jens

  28. #28
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.545
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Jens Beitrag anzeigen
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/ip/homepagewidget.html$': ALLOW'
                '^/.*': SAMEORIGIN
    Steht in Deiner config.yml nach ALLOW auch ein Hochkomma? Oder nur hier im Forum?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

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

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Steht in Deiner config.yml nach ALLOW auch ein Hochkomma? Oder nur hier im Forum?
    Hallo,

    sorry - bei meinen Tests war Hochkomma vorhanden. Das hatte sich hier eingeschmuggelt, da ich es auch einmal mit 'ALLOW-FROM https://www.xyz.de' getestet hatte zuletzt.

    Gruß,
    Jens

  30. #30
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.545
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Jens Beitrag anzeigen
    bei meinen Tests war Hochkomma vorhanden
    War das dann vielleicht der Grund, dass es nicht funktioniert hat?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

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

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    War das dann vielleicht der Grund, dass es nicht funktioniert hat?
    leider nein … hatte schon beides getestet. In beiden Fällen gab es keine Reaktion. Ich hab es heute auch nochmals getestet um sicher zu sein, dass der Regexp für die Pfadangabe auch kein Fehler hatte.

    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/ip/homepagewidget\.html': ALLOW
                '^/.*': SAMEORIGIN
    Das ist jetzt praktisch absolut identisch mit dem, wie ich die Extension Konfiguration überschreibe (innerhalb meiner eigenen Extension).

    PHP-Code:
      /**
         * Allows a plugin to override extension configuration.
         *
         * @param string           $extensionName
         * @param array            $extensionConfigs
         * @param ContainerBuilder $container
         *
         * @return array
         */
        
    public function getExtensionConfig($extensionName, array $extensionConfigsContainerBuilder $container) {
            if (
    'nelmio_security' !== $extensionName) {
                return 
    $extensionConfigs;
            }

            
    $customCors = [
                
    '^/ip/homepagewidget\.html' => 'ALLOW'
            
    ];

            foreach (
    $extensionConfigs as &$extensionConfig) {
                if (isset(
    $extensionConfig['clickjacking'])
                    && 
    is_array($extensionConfig['clickjacking']['paths'])
                ) {
                    
    $extensionConfig['clickjacking']['paths'] = $customCors $extensionConfig['clickjacking']['paths'];
                }
            }

            return 
    $extensionConfigs;
        } 
    Von daher wüsste ich jetzt echt nicht mehr weiter. Vor allem, da praktisch alle weiteren Optionen die nelmio_security bietet ja einwandfrei funktionieren und korrekt gesetzt werden.

    Jedenfalls Danke für deine Hilfe :-)

    Gruß,
    Jens

  32. #32
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    128

    Standard

    Vielen Dank an Alle - der Thread hat mir sehr geholfen!

  33. #33
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard Lösung des Problems?

    @Jens: Ich stehe gerade genau vor dem gleichen Problem. Allerdings mit der 4.8 Version. Konntest du das Problem lösen?

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

    Standard

    Zitat Zitat von mario-postyou Beitrag anzeigen
    @Jens: Ich stehe gerade genau vor dem gleichen Problem. Allerdings mit der 4.8 Version. Konntest du das Problem lösen?
    Servus,

    mit 4.8 habe ich jetzt noch nicht soviel gearbeitet (auch wenn ich weiß, dass dort die gleiche Library verwendet wird).

    Was 4.4 angeht, so hab ich nicht weiter nachgeschaut, warum die Konfiguration einzelner Pfade in der config.yml nicht funktioniert hat. Für mein Zweck (einer API-Schnittstelle) war der Weg das ganze im Programmcode des Moduls zu konfigurieren einfach sinnvoller. Der Weg *sollte* eigentlich auch in Contao 4.8 funktionieren.

    Gruß
    Jens

  35. #35
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Jens, brauchst du denn die SAMEORIGIN-Anweisung überhaupt noch? Ich dachte, das ist die Voreinstellung.
    Ich meine so müsste es reichen:
    Zitat Zitat von Jens Beitrag anzeigen
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/ip/homepagewidget\.html': ALLOW
                '^/.*': SAMEORIGIN

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

    Standard

    Zitat Zitat von folkfreund Beitrag anzeigen
    Jens, brauchst du denn die SAMEORIGIN-Anweisung überhaupt noch? Ich dachte, das ist die Voreinstellung.
    Ich meine so müsste es reichen:
    Die Frage hatte ich mir auch gestellt und daher beides getestet (zumindest hatte es keinen Einfluss auf den vorher festgelegten Pfad - ob SAMEORIGIN für alle Seiten gesendet wurde, weiß ich nicht mehr).

    Die Anleitung unter https://github.com/nelmio/NelmioSecu...ecurity-policy führt in seinen Beispielen jedenfalls immer am Ende des Regel-Sets eine „Catch-All“-Regel (ähnlich bei Firewalls). Zumindest würde es Sinn ergeben, da ich ja die Default-Konfiguration praktisch komplett überschreibe (also den Satz von Regeln).

    Vielleicht teste ich es „just-for-fun“ nochmal in den kommenden Tagen, auch wenn mir die Lösung im Programmcode (innerhalb des API Moduls) eigentlich generell besser gefällt. Der Vorteil ist, dass man bei einer Neuinstallation nicht vergisst in der config.yml die gewünschten URLs freizugeben.

    Gruß
    Jens

  37. #37
    Contao-Nutzer Avatar von beatem
    Registriert seit
    19.06.2009.
    Ort
    Giengen
    Beiträge
    63
    Partner-ID
    5081

    Standard Liegt das an Contao oder am Server?

    Hallo, ich habe ebenfalls das Problem dass eine Contao-Seite nicht mittels IFrame bei fremden Domains eingebunden werden kann. Es handelt sich um Contao 4.40.
    Ich habe bereits eine config.yml mit folgendem Code:
    Code:
    nelmio_security:
        clickjacking:
            paths:
                '^/.*': ALLOW
    unter app/config/ hinterlegt. Den Cache habe ich auch gelöscht.

    Folgende Fehlermeldung erhalte ich:
    Refused to display 'https://www.Platzhalter.de/' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".


    Bei einer 4.4.36 Contao Version hat dieser Vorgehensweise problemlos funktioniert.

    Frage, liegt das an Contao oder am Server oder habe ich irgendetwas übersehen?

    Vielen Dank.

    Herzliche Grüße
    Beate
    Geändert von Spooky (26.09.2019 um 13:19 Uhr) Grund: added [code] tags
    Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin

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

    Standard

    Moderation: Code, Config & Fehlermeldungen bitte immer in [code] Tags posten (habe ich bereits für dich erledigt).

    - - - Aktualisiert - - -

    Zitat Zitat von beatem Beitrag anzeigen
    Den Cache habe ich auch gelöscht.
    Also du hast den Symfony Application Cache neu aufbauen lassen? (Über Contao Manager oder Konsole.)

  39. #39
    Contao-Nutzer Avatar von beatem
    Registriert seit
    19.06.2009.
    Ort
    Giengen
    Beiträge
    63
    Partner-ID
    5081

    Standard Contao Manager

    Hallo,
    danke für die schnelle Rückmeldung. Ich habe den Application Cache über den Contao Manager neu aufbauen lassen.
    Herzliche Grüße von Beate | bmbwebdesign. | Contao-Partnerin

  40. #40
    Contao-Nutzer Avatar von truni
    Registriert seit
    18.08.2009.
    Ort
    Zürcher Unterland
    Beiträge
    166

    Standard Browsersupport in Zukunft nicht gewährleistet?

    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?

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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