2.4. Werken met inhoud. Tekstformaten.
Drupal-sites worden meestal ontwikkeld om online te worden geplaatst. Zodra je site op internet staat, wordt deze toegankelijk voor de hele wereld — inclusief spammers en crawlers die proberen spam of kwaadaardige code op je site te plaatsen. Drupal bevat beveiligingscontroles en tekstfilters om code in invoerformulieren te detecteren en te neutraliseren (lees meer over XSS-aanvallen voor meer informatie).
Ga naar Configuratie → Inhoudsopmaak → Tekstformaten en editors:
/admin/config/content/formats
Hier zien we de standaard tekstformaten: Volledige HTML, Basis HTML, Beperkte HTML en Platte tekst. Ze worden uitgevoerd van boven naar beneden — als de gebruiker de juiste rol heeft, wordt dat formaat toegepast; zo niet, dan wordt het filter gebruikt dat lager in de lijst staat. Hoe lager het filter, hoe meer tekst wordt verwijderd en hoe strenger de filtering is. Laten we Volledige HTML bovenaan zetten — dit is het meest vrije formaat, met de minste controles. Beheerders kunnen dit standaard gebruiken.
Ga nu naar de instellingen van Basis HTML en stel de toegangsrollen in — bijvoorbeeld dat anonieme gebruikers dit formaat mogen gebruiken, inclusief de visuele editor CKEditor.
Let op dat CKEditor standaard is uitgeschakeld — en dat is met een reden. Verouderde visuele editors kunnen een beveiligingsrisico vormen voor je site. Aangezien je hiermee de visuele editor ook voor anonieme gebruikers inschakelt, stel je een mogelijke kwetsbaarheid open. Maar maak je geen zorgen: CKEditor is ingebouwd in Drupal en wordt samen met Drupal geüpdatet.
In de verdere instellingen kun je knoppengroepen aanmaken en de gewenste pictogrammen daarheen slepen. Bijvoorbeeld: maak een groep Uitlijning en voeg daar pictogrammen toe om tekst links, rechts of gecentreerd uit te lijnen.
Daarna kun je de instellingen voor het uploaden van bestanden via CKEditor configureren — maar meestal werkt alles al goed met de standaardinstellingen:
Verder kun je filters instellen voor elk tekstformaat. Let vooral op het filter Alleen toegestane HTML-tags overslaan — dit is het basisfilter voor Basis HTML. Het verwijdert JavaScript-code uit tekstvelden en laat alleen de noodzakelijke HTML-tags staan. Andere filters kun je naar wens in- of uitschakelen.
Je kunt ook de volgorde van de filters wijzigen. Het is belangrijk dat het hoofdfilter “Beperk toegestane HTML-tags en corrigeer foutieve HTML” bovenaan staat — dit moet alle JavaScript-code filteren vóórdat de andere filters actief worden.
Tot slot kun je bepalen welke HTML-tags behouden blijven na filtering. De standaardlijst is vrij uitgebreid, dus meestal hoef je hier niets te wijzigen. Wel kun je het attribuut rel="nofollow"
toevoegen, zodat spamreacties op je site geen negatieve invloed hebben op je SEO-ranking.