.htaccess oder Plugin System - HttpHeader

  • Meine Joomla 4 Installation verwende ich so, wie ich sie installiert habe. Mit dem Template Cassiopeia. Ich habe nur eine einzige Sache nachinstalliert. Das ist eine Bildergalerie . Alle anderen Erweiterungen wurden mit der Joomla-Installation bereitgestellt. Außer einiger Deaktivierungen habe ich nichts verändert. Das dürfte jedoch nicht der Grund sein, warum sich meine Seite so verhält, wie sie sich verhält.

    Noch immer bin ich der Überzeugung, dass ich irgendwo was vergessen / übersehen habe, bei den Einstellungen der CSP. Ich nehme an, dass andere Leute hier im Forum diese Einstellungen vorgenommen haben und es funzt. Also muss es an mir liegen, nur weiß ich nicht wo oder was.

  • Nur zur Ergänzung. In Joomla 4 verwende ich Cassiopaia, das für Inline-Stile diese Zeilen verwendet, also den WebAssetManager:

    https://github.com/joomla/joom…siopeia/index.php#L78-L86


    und ein eigenes(!!!), das old-fashioned addStyleDeclaration verwendet für Inline-CSS.

    Sowie diverse Erweiterungen mit addStyleDeclaration.


    Das selbe für scripts.


    In beiden(!!!) Fällen reicht das Aktivieren des Plugins "System - HTTP Headers", um die "Nonces" überall automatisch einzusetzen.

    Ansonsten ist ALLES(!!!) im Plugin deaktiviert!!


    (Ich hoffe, da erkennt jetzt nicht irgendwer einen Bug und ändert dieses mir bestens gefallende Verhalten ;) ).


    Deshalb wundere ich mich über den Fund in Post #8. Ohne nonce-Attribut.

    as den Entwickler des Templates betrifft, hatte ich die Hoffnung, dass die Entwickler von Joomla wissen, was sie da tun und ein brauchbares Template mitgeben.

    Diese Kritik kann ich also nicht nachvollziehen.


    Zusätzlich macht das Plugin den nonce-Wert so verfügbar, dass ich ihn auch in meinen Erweiterungen "abgreifen" kann und "händisch" einsetzen kann, wenn ich bspw. addCustomTag verwende.


    In Joomla 3 ist das leider alles nicht so einfach, weshalb ich auch immer die Finger davon gelassen habe ;) Blicke ich 0 durch...

  • Danke für die Antwort!

    Ich habe nun das Plugin System - HTTP Header aktiviert, alles im Plugin deaktiviert bis Strict-Transport-Security. Die Seite funktioniert so, wie es vom Entwickler gedacht ist. Das war auch bevor ich begann mich unter Joomla 4 mit den CSP zu beschäftigen. Unter Joomla 3 hatte ich das mit einigen Einschränkungen im Griff. Da allerdings mit der .htaccess. Geprüft habe ich das am ehesten per Webkoll.

    Die Seite von Astrid Günther beschäftigt sich mit dem Template und verweist beim Thema Header - CSP als Test auf diesen Securityheader. Dieser scheint toleranter als Webkoll zu sein. Das irritiert mich.

    Zu meiner "Kritik": Das war keine Kritik! Es sollte nur zeigen, was meine Erwägungen sind, gerade das Cassiopeia-Template zu verwenden. Allerdings sollte man mir nachsehen, dass ich viel zu wenig Fachmann bin, um das alles zu wissen, was ich in den letzten Tagen gelernt habe.

  • Ich will mich noch mal melden. Leider waren alle meine bisherigen Versuche erfolglos. Es lassen sich keine CSP anweisen. Die Richtlinie "default-src" - 'self' lässt Teile des Templates verschwinden und lässt auch keine Styles und Scripte zu.

    Ich habe den Code von Zero24 aus Post #18 gesetzt. Es funktioniert nicht. Die Seite funktioniert nur, wenn weder "default-src, style-src noch sript-src" gesetzt sind. Ist nur ein Wert gesetzt, gibts Fehlermeldung, wie sie Zero24 in Post #12 gepostet hat.

    Dank an Re:Later für seinen Ansatz. Aber ich bin kein Programmierer und kann deshalb seinen Ansatz nicht nachvollziehen. Das ist einfach zwei Nummern zu groß für mich. :(

    Um die Einstellungen zu prüfen, verwende ich vorzugshalber Observatory von Mozilla und / oder Webbkoll. Inzwischen bin ich umgezogen und die neue Webadresse lautet: http://www.sbrl.de

  • Dank an Re:Later für seinen Ansatz. Aber ich bin kein Programmierer und kann deshalb seinen Ansatz nicht nachvollziehen.

    In Post #8 hat JoomlaWunder den Code gepostet, den er in deinem Template gefunden hat.

    Code
    <style>:root {
            --hue: 214;
            --template-bg-light: #f0f4fb;
            --template-text-dark: #495057;
            --template-text-light: #ffffff;
            --template-link-color: #2a69b8;
            --template-special-color: #001B4C;
            
        }</style>

    Später habt ihr über dieses nonce geredet. Nachdem ich das Plugin wie oben beschrieben plump aktiviert hatte, kam bei mir so ein Code im Cassiopaia-Seitenquelltext raus, also mit so einem autoamtisch gesetzten nonce-Attribut:

    Code
    style nonce="MjBlYzJmZDkxOTFiMzkyZmFkZmU3MWE2YjdjMjU0NDZiZDk0N2MzY2FlYmJmYmVkZDA2MjVhOGY5ZTQ4OWNiMWYzMmMzNmY5Yjk0N2ZhZDE2ZWNmMDRkMmE2NGI2ZGQ0ZjFjOWExMWQyOTIwMTc4YjRiNzk0NzQwM2EwZGI2OTI=">:root {
            --hue: 214;
            --template-bg-light: #f0f4fb;
            --template-text-dark: #495057;
            --template-text-light: #ffffff;
            --template-link-color: #2a69b8;
            --template-special-color: #001B4C;
            
        }</style>

    Das für nahezu alle Inline-Stile und -Scripte. Bei denen wo nicht, muss ich jetzt halt das "Zaubern" erlernen ;) Sind halt meine eigenen Erweiterungen, die das teils anders machen, ABER trotzdem

    über die Joomla API eingebaut

    möchte ich betonen ;) Ich verwende Joomla-API für das Einsetzen, aber halt Methoden, wo Joomla nicht automatisch hilft.


    Mehr wollte ich gar nicht mitteilen. Und blicke vermutlich ansonsten nicht mehr durch als du.

  • Jetzt bin ich platt!! Wie hast Du, Re:Later, das angestellt? Ich habe diese Codeschnipsel aus dem Post #18 in das Plugin System - HttpHeader eingetragen. Aber das funktionierte nicht. Konnte nach meinem Ermessen auch nicht, weil ich ja nirgends die Werte vorgegeben habe. Jetzt sehe ich Dein Ergebnis.

    Was hast Du getan und vor allem, wo hast Du das eingetragen?

    Noch mal zur "Kritik" ;) Nun siehst Du, warum ich Cassiopeia wählte. Ich kann mir sicher sein, dass da alles richtig läuft und es ist auch kein Problem bei Hilfestellung, weil jeder das Template kennt und auch probieren kann. :)

  • Was hast Du getan und vor allem, wo hast Du das eingetragen?

    Das meinte ich ja. Ich habe gar nichts eingetragen, sondern nur das Plugin aktiviert ohne sonstwas darin zu aktivieren. Zumindest das Cassiopeia-Schnipsel kommt dann mit nonce raus und einige andere mehr. Das nonce-Dingens wird im Plugin automatisch erstellt, an einigen Stellen automatisch eingesetzt und kann dann auch später per Joomla-Code abgegriffen werden, falls man es irgendwo reinpopeln möchte/muss.


    Aber ansonsten halt ???? von mir. Wirklich durchblicken tue ich ja nicht bei dem Thema.

  • Jetzt bin ich platt. Hab alles schon wer weiß wie oft probiert. Allein die Anwesenheit der Direktive "default-src 'self' oder 'none'" ließ mein Template teilweise oder ganz verschwinden. Heute hab ich noch mal tiefgründig gelesen. Dann wieder "default-src 'self'" gesetzt, dazu "script-src 'self' mit Hash-Wert" wie im Post #18 von zero24 und alles klappt. Ich weiß nicht warum, aber es funzt! :) In den letzten Tagen hatte ich das so schon mehrfach getan, ohne Ergebnis.

    Kleiner Wermutstropfen: In meiner Bildergalerie fehlen noch paar Bedienelemente, aber ich weiß nicht, wie ich das auch noch beheben könnte. Ich werde aus den Fehlermeldungen nicht schlau. Allerdings funktioniert sie wie es sein soll.

    Dank an alle!

  • Kleiner Wermutstropfen: In meiner Bildergalerie fehlen noch paar Bedienelemente, aber ich weiß nicht, wie ich das auch noch beheben könnte. Ich werde aus den Fehlermeldungen nicht schlau. Allerdings funktioniert sie wie es sein soll.

    Vermutlich meinst du diese Fehlermeldung:



    Setze in der Direktive img-src mal ein data: dazu! Wird jetzt alles angezeigt?