Sécurité.
Cette page liste ce que DXPR Builder protège par lui-même, et ce que vous décidez : qui peut modifier, si la sortie visiteur passe par les filtres de format de texte, et quels fichiers les contributeurs peuvent téléverser.
Sortie du builder et formats de texte
Le builder enregistre une page comme HTML dans le champ et affiche ce HTML tel que stocké. Les filtres de format de texte ne s’appliquent pas aux champs du builder par défaut. Un utilisateur qui a Edit with DXPR Builder et peut modifier une page peut donc y ajouter n’importe quel HTML, y compris des scripts dans un élément HTML. N’accordez la permission qu’à des rôles de confiance ; Drupal la marque comme restreinte sur la page des permissions.
Apply text format filters to frontend content, sous DXPR Studio > DXPR Builder > General Settings > Text Filters, applique le format de texte du champ pour les utilisateurs qui ne sont pas contributeurs. Les contributeurs continuent de voir le contenu brut. Un format restrictif peut aussi retirer du balisage du builder, donc testez les pages avec ce réglage activé.
La sortie IA a son propre filtre. Sous DXPR Studio > DXPR Builder > AI, AI Output Filtering limite le contenu généré aux Allowed domains que vous listez.
Permissions des utilisateurs
DXPR Builder définit trois permissions :
| Permission | Libellé | Accorde |
|---|---|---|
edit with dxpr builder |
Edit with DXPR Builder | Utiliser le builder sur le contenu que l’utilisateur peut modifier ; chaque compte de ce type utilise une licence |
administer dxpr builder configuration |
Administer DXPR Builder configuration | General Settings, réglages IA, User Licenses, Content items et Migrations |
administer dxpr_builder_profile |
Administer dxpr builder profile | User Profiles |
Les pages d’admin Page Templates et User Templates nécessitent la permission du cœur Administer site configuration.
L’éditeur a aussi besoin d’un accès de modification au contenu lui-même, comme Basic page: Edit any content. Chaque enregistrement le revérifie sur le serveur.
Routes AJAX et protection CSRF
Ces routes n’acceptent des requêtes qu’avec un jeton CSRF et uniquement depuis un compte qui a Edit with DXPR Builder et n’est pas exclu de la modification :
/dxpr_builder/ajax(enregistrement, modèles, blocs et vues)/dxpr_builder/ajax/ai/chat(assistant de texte IA)/dxpr_builder/ajax/ai/image(génération d’images IA)/dxpr_builder/ajax/ai/image/edit(modification d’image IA)/dxpr_builder/ajax/file_upload(téléversements de fichiers)
/dxpr_builder/user-settings et /dxpr_builder/entity-link-suggestions exigent aussi un jeton et la permission. L’éditeur récupère des jetons frais depuis /dxpr_builder/csrf, qui ne répond qu’aux comptes autorisés à modifier. /dxpr_builder/media-library nécessite View media. Aucune configuration manuelle n’est requise.
Profils d’utilisateur
Les profils d’utilisateur façonnent l’éditeur pour chaque rôle : quels Elements, Blocks, Views, Page templates, Global user templates et Icon sets les contributeurs voient, et quels boutons d’éditeur de texte ils reçoivent. Un profil n’est pas une frontière de sécurité. La route d’enregistrement accepte n’importe quel HTML d’un utilisateur avec la permission, donc masquer l’élément HTML n’arrête pas un contributeur déterminé. Plus d’un profil nécessite le palier DXPR Enterprise.
Téléversements de fichiers
La route de téléversement /dxpr_builder/ajax/file_upload :
- N’accepte que les images GIF, JPEG, PNG, WebP, AVIF et SVG, et les vidéos WebM, Ogg, MP4 et QuickTime, via la validation de téléversement de fichiers de Drupal.
- Limite la taille de fichier à la limite de téléversement de PHP.
- Stocke les fichiers dans
dxpr_builder_images,dxpr_builder_videosoudxpr_builder_filesdans le répertoire de fichiers par défaut, comme fichiers permanents.
Les fichiers SVG peuvent contenir des scripts qui s’exécutent quand on ouvre le fichier directement. C’est une raison de plus de garder la permission de modification pour des rôles de confiance.
Sur un site dont le système de fichiers par défaut est privé, les fichiers des dossiers privés dxpr_builder_images et dxpr_builder_videos sont servis à chaque visiteur, car les pages du builder les affichent publiquement. Ne téléversez pas de fichiers confidentiels via le builder.
Et ensuite ?
Réglage de performance pour des pages plus rapides pour continuer à explorer DXPR Builder.