Beveiliging.
Deze pagina somt op wat DXPR Builder uit zichzelf beschermt en wat jij beslist: wie mag bewerken, of bezoekersoutput door tekstformaatfilters gaat en welke bestanden redacteurs mogen uploaden.
Builderoutput en tekstformaten
De builder slaat een pagina als HTML in het veld op en toont die HTML zoals opgeslagen. Tekstformaatfilters draaien standaard niet op buildervelden. Een gebruiker met Edit with DXPR Builder die een pagina mag bewerken kan er daarom elke HTML aan toevoegen, inclusief scripts in een HTML-element. Geef de rechten alleen aan vertrouwde rollen; Drupal markeert ze als beperkt op de rechtenpagina.
Apply text format filters to frontend content, onder DXPR Studio > DXPR Builder > General Settings > Text Filters, draait het tekstformaat van het veld voor gebruikers die geen redacteurs zijn. Redacteurs blijven de ruwe inhoud zien. Een beperkend formaat kan ook buildermarkup strippen, dus test pagina's met het aan.
AI-output heeft een eigen filter. Onder DXPR Studio > DXPR Builder > AI beperkt AI Output Filtering gegenereerde inhoud tot de Allowed domains die je opsomt.
Gebruikersrechten
DXPR Builder definieert drie rechten:
| Recht | Label | Geeft |
|---|---|---|
edit with dxpr builder |
Edit with DXPR Builder | De builder gebruiken op inhoud die de gebruiker mag bewerken; elk zo'n account gebruikt een licentie |
administer dxpr builder configuration |
Administer DXPR Builder configuration | General Settings, AI-instellingen, User Licenses, Content items en Migrations |
administer dxpr_builder_profile |
Administer dxpr builder profile | User Profiles |
De adminpagina's Page Templates en User Templates hebben het corerecht Administer site configuration nodig.
De editor heeft ook bijwerktoegang tot de inhoud zelf nodig, zoals Basic page: Edit any content. Elke opslagactie controleert die opnieuw op de server.
AJAX-routes en CSRF-bescherming
Deze routes accepteren alleen verzoeken met een CSRF-token en alleen van een account met Edit with DXPR Builder dat niet is uitgesloten van bewerken:
/dxpr_builder/ajax(opslaan, sjablonen, blokken en views)/dxpr_builder/ajax/ai/chat(AI-tekstassistent)/dxpr_builder/ajax/ai/image(AI-afbeeldingsgeneratie)/dxpr_builder/ajax/ai/image/edit(AI-afbeeldingsbewerking)/dxpr_builder/ajax/file_upload(bestandsuploads)
/dxpr_builder/user-settings en
/dxpr_builder/entity-link-suggestions vereisen ook een token en
de rechten. De editor haalt verse tokens op van
/dxpr_builder/csrf, dat alleen antwoordt aan accounts die mogen bewerken.
/dxpr_builder/media-library heeft View media nodig. Er is geen handmatige
configuratie nodig.
Gebruikersprofielen
Gebruikersprofielen vormen de editor per rol: welke Elements, Blocks, Views, Page templates, Global user templates en Icon sets redacteurs zien en welke teksteditorknoppen ze krijgen. Een profiel is geen beveiligingsgrens. De opslagroute accepteert elke HTML van een gebruiker met de rechten, dus het verbergen van het HTML-element houdt een vastberaden redacteur niet tegen. Voor meer dan één profiel heb je de DXPR Enterprise-tier nodig.
Bestandsuploads
De uploadroute /dxpr_builder/ajax/file_upload:
- Accepteert alleen GIF-, JPEG-, PNG-, WebP-, AVIF- en SVG-afbeeldingen, en WebM-, Ogg-, MP4- en QuickTime-video's, via de bestandsuploadvalidatie van Drupal.
- Beperkt de bestandsgrootte tot de uploadlimiet van PHP.
- Bewaart bestanden als permanente bestanden in
dxpr_builder_images,dxpr_builder_videosofdxpr_builder_filesin de standaard files-map.
SVG-bestanden kunnen scripts bevatten die draaien wanneer iemand het bestand direct opent. Dat is nog een reden om de bewerkingsrechten tot vertrouwde rollen te beperken.
Op een site waarvan het standaardbestandssysteem privé is, worden bestanden in de
privé-mappen dxpr_builder_images en dxpr_builder_videos aan elke
bezoeker geserveerd, omdat builderpagina's ze publiek tonen.
Upload geen vertrouwelijke bestanden via de builder.
Wat nu?
Performanceafstemming voor snellere pagina's om DXPR Builder verder te verkennen.