Contao-Summit 2026

Ankündigung

Collapse
No announcement yet.

CSP bei Tabellen aus TinyMCE

Collapse
X
 
  • Filter
  • Zeit
  • Show
Clear All
new posts

    5.7.x CSP bei Tabellen aus TinyMCE

    In einem Textelement wurde eine Tabelle angelegt und gefüllt.
    Tiny generiert nun daraus sowas:
    Code:
    <table style="border-collapse: collapse; width: 46%; height: 122px; border-width: 1px;" border="1">
    <tbody>
      <tr style="height: 20.3333px;">
        <td style="width: 15.9211%; text-align: center;">2</td>
        <td style="width: 84.0789%;">Kartoffeln</td>
      </tr>
    </tbody>
    </table>
    Kann ich das über config.yml so erlauben in contao.csp.allowed_inline_styles, damit es CSP sicher ist?
    Wenn ja was muss ich da wie reinschreiben?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

    #2
    Da musst du gar nichts machen, mit den Default Templates wird das bereits automatisch erlaubt. Zumindest wenn die _richt_text component benutzt wird: https://github.com/contao/contao/blo....html.twig#L30
    » sponsor me via GitHub or Revolut

    Comment


      #3
      Das scheint, hätte ich dazu sagen sollen, bei News Templates z.B. news_full nicht der Fall zu sein. Dort sehe ich nur die Teaser die mit dem Filter csp_inline_styles behandelt werden, aber wohl nicht der Inhalt.
      Grüße, BugBuster
      "view source" is your guide.
      Danke an alle Amazon Wunschlisten Erfüller

      Comment


        #4
        Zitat von BugBuster Beitrag anzeigen
        aber wohl nicht der Inhalt.
        In wie fern nicht der Inhalt? Oder meinst du, wenn du keinen Inhalt eingefügt hast und daher der Teaser auf der Detailseite angezeigt wird?
        » sponsor me via GitHub or Revolut

        Comment


          #5
          Nein, der Inhalt der News, dort wurde folgendes getan:
          Click image for larger version

Name:	Screenshot 2026-05-27 155327.png
Views:	1
Size:	25,2 KB
ID:	936926
          Also eine Tabelle direkt mittels Tiny angelegt.

          Und Tiny macht dort inline Styles rein, siehe oben.
          Grüße, BugBuster
          "view source" is your guide.
          Danke an alle Amazon Wunschlisten Erfüller

          Comment


            #6
            Wie gesagt, solange die _rich_text component benutzt wird, sollte es funktionieren. Selbst in den Legacy Templates für das Text Inhaltselement sollte es funktionieren.
            » sponsor me via GitHub or Revolut

            Comment


              #7
              Tut es aber nicht. Das ist ja mein Problem.
              Selbst wenn ich es als Textelement und nicht als News-Text (hätte ja am Modul liegen können) ausgebe, bleibt es ohne csp Angaben.
              Grüße, BugBuster
              "view source" is your guide.
              Danke an alle Amazon Wunschlisten Erfüller

              Comment


                #8
                Hast du Template-Anpassungen oder sonstige Anpassungen?
                » sponsor me via GitHub or Revolut

                Comment


                  #9
                  Keine mod_article oder content_element/text Anpassung und bei news_full nur den Block Info (gelleert)
                  Läuft auf Contao 5.7 mit Twig-Layout.
                  Grüße, BugBuster
                  "view source" is your guide.
                  Danke an alle Amazon Wunschlisten Erfüller

                  Comment


                    #10
                    Die allowed_inline_styles musst du auch noch dediziert konfigurieren.
                    » sponsor me via GitHub or Revolut

                    Comment


                      #11
                      Da sind wir bei der Anfangsfrage, was muss da rein?
                      Grüße, BugBuster
                      "view source" is your guide.
                      Danke an alle Amazon Wunschlisten Erfüller

                      Comment


                        #12
                        Na die Styles die du erlauben willst. z.B. width, border-collapse etc.
                        » sponsor me via GitHub or Revolut

                        Comment


                          #13
                          Am Besten mal mit bin/console debug:config contao ansehen wie das im Standard aussieht, ein paar Sachen sind da schon drin, aber width bspw. nicht. Das musst du eben entsprechend ergänzen.

                          Comment


                            #14
                            Guter Hinweis, zumal man die defaults mit in die eigene config.yaml mit nehmen muss.
                            Habe nun drei Zeilen hinzugefügt, die regulären Ausdrücke habe ich mal mit regex101 geprüft.
                            Code:
                            contao:
                                csp:
                                    allowed_inline_styles:
                                        width: '\d+(?:\.\d+)?%'
                                        height: '\d+(?:\.\d+)?px'
                                        border-width: 1px
                            ab hier dann die default Zeilen...
                            Aber, es greift nicht. Es wird immer noch an gemeckert.
                            Selbst wenn ich mal die Tabelle im Quelltext editiere und dort nur das "border-width: 1px;" drin lasse, wird es schon an gemeckert. Und da ist ja noch nicht mal ein regex dabei.
                            Wenn ich nur "border-collapse: collapse" drin lasse, das wird akzeptiert. (ist ein default Wert)
                            Warum meine zusätzlichen Angaben nicht?

                            Mit angezeigt werden diese bei Aufruf von "bin/console debug:config contao".
                            Grüße, BugBuster
                            "view source" is your guide.
                            Danke an alle Amazon Wunschlisten Erfüller

                            Comment


                              #15
                              Äh, fällt mir grad ein, ich muss bestimt nach Anpassung von config.yaml den Cache löschen, oder?
                              Grüße, BugBuster
                              "view source" is your guide.
                              Danke an alle Amazon Wunschlisten Erfüller

                              Comment

                              Working...
                              X