2.4. Arbeiten mit Inhalten. Textformate.
Drupal-Websites werden in der Regel erstellt, um Inhalte im Internet bereitzustellen. Sobald Sie eine Seite veröffentlichen, ist sie für die ganze Welt zugänglich – einschließlich Spammern und Bots, die versuchen, Spam oder schädlichen Code auf Ihrer Seite zu platzieren. Drupal verfügt über Prüfungen und Textfilter, um Code in Ihren Eingabeformularen zu erkennen und zu neutralisieren (mehr zu XSS-Angriffen können Sie lesen).
Gehen wir zu Konfiguration – Inhaltserstellung – Textformate und Editoren:
/admin/config/content/formats
Hier gibt es die Standard-Textformate: Vollständiges HTML, Basis-HTML, Eingeschränktes HTML, reiner Text. Sie werden von oben nach unten ausgeführt: Hat der Benutzer die erforderliche Rolle, wird dieses Format angewendet; falls nicht, das weiter unten stehende. Je weiter unten das Format, desto weniger Text bleibt übrig, da mehr Filter angewendet werden. Setzen wir Vollständiges HTML ganz nach oben, das ist der mildeste Filter mit den wenigsten Prüfungen, standardmäßig für Administratoren:
Gehen wir nun in die Einstellungen für Basis-HTML und weisen anonyme Benutzer diesem Filter zu, damit auch sie CKEditor (den visuellen Editor) nutzen können.
Beachten Sie, dass CKEditor standardmäßig deaktiviert ist, was seinen Grund hat. Veraltete visuelle Editoren stellen eine Sicherheitslücke dar. Wenn Sie den visuellen Editor für anonyme Benutzer freigeben, öffnen Sie diese Schwachstelle für alle. Aber keine Sorge, CKEditor ist in Drupal integriert und wird mit Drupal aktualisiert.
Weiter unten können wir Gruppen von Symbolen erstellen und die benötigten Symbole dorthin ziehen. Ich habe eine Gruppe „Ausrichtung“ erstellt und dort Symbole zum Textausrichten eingefügt.
Anschließend kann die Dateiupload-Funktion über CKEditor konfiguriert werden, aber standardmäßig ist alles in Ordnung:
Darüber hinaus können wir Filter für das Textformat setzen. Achten Sie auf den Filter „Nur erlaubte HTML-Tags zulassen“, dieser ist für Basis-HTML grundlegend, da er JavaScript-Code aus Textfeldern entfernt und nur die erlaubten Tags lässt. Andere Filter können Sie nach Belieben ein- oder ausschalten.
Die Reihenfolge der Filter kann unten festgelegt werden. Der wichtigste Filter „Erlaube nur bestimmte HTML-Tags und korrigiere fehlerhaftes HTML“ sollte ganz oben stehen, damit er vor allen anderen Filtern läuft und sämtlichen JavaScript-Code entfernt.
Ganz zum Schluss kann festgelegt werden, welche Tags nach der Filterung erhalten bleiben. Grundsätzlich ist die Liste der erlaubten HTML-Tags recht umfangreich, Sie können sie so lassen. Ich würde jedoch rel="nofollow" hinzufügen, damit Spam-Kommentare der SEO-Promotion der Seite nicht schaden.