Segurança.

Aprender DXPR BuilderGerir o siteCumprir requisitos legais

Esta página enumera o que o DXPR Builder protege por si, e o que decide: quem pode editar, se o resultado para visitantes passa por filtros de formato de texto, e que ficheiros os editores podem carregar.

Resultado do construtor e formatos de texto

O construtor guarda uma página como HTML no campo e mostra esse HTML como guardado. Os filtros de formato de texto não correm em campos do construtor por predefinição. Um utilizador com Edit with DXPR Builder que pode editar uma página pode por isso adicionar qualquer HTML, incluindo scripts num elemento HTML. Atribua a permissão apenas a funções de confiança; o Drupal marca-a como restrita na página de permissões.

Apply text format filters to frontend content, em DXPR Studio > DXPR Builder > General Settings > Text Filters, executa o formato de texto do campo para utilizadores que não são editores. Os editores continuam a ver o conteúdo em bruto. Um formato restritivo também pode remover marcação do construtor, por isso teste as páginas com ele ligado.

A saída de IA tem filtro próprio. Em DXPR Studio > DXPR Builder > AI, AI Output Filtering limita o conteúdo gerado aos Allowed domains enumerados.

Permissões de utilizador

O DXPR Builder define três permissões:

Permission Label Grants
edit with dxpr builder Edit with DXPR Builder Usar o construtor no conteúdo que o utilizador pode editar; cada conta assim usa uma licença
administer dxpr builder configuration Administer DXPR Builder configuration General Settings, definições de IA, User Licenses, Content items e Migrations
administer dxpr_builder_profile Administer dxpr builder profile User Profiles

As páginas de administração Page Templates e User Templates precisam da permissão do núcleo Administer site configuration.

O editor também precisa de acesso de atualização ao próprio conteúdo, como Basic page: Edit any content. Cada gravação verifica-o outra vez no servidor.

Rotas AJAX e proteção CSRF

Estas rotas só aceitam pedidos com token CSRF e só de uma conta com Edit with DXPR Builder não excluída da edição:

  • /dxpr_builder/ajax (gravação, modelos, blocos e vistas)
  • /dxpr_builder/ajax/ai/chat (assistente de texto de IA)
  • /dxpr_builder/ajax/ai/image (geração de imagens por IA)
  • /dxpr_builder/ajax/ai/image/edit (edição de imagens por IA)
  • /dxpr_builder/ajax/file_upload (carregamento de ficheiros)

/dxpr_builder/user-settings e /dxpr_builder/entity-link-suggestions também exigem um token e a permissão. O editor obtém tokens novos em /dxpr_builder/csrf, que só responde a contas que podem editar. /dxpr_builder/media-library precisa de View media. Não é precisa configuração manual.

Perfis de utilizador

Os perfis de utilizador moldam o editor para cada função: que Elements, Blocks, Views, Page templates, Global user templates e Icon sets os editores veem, e que botões do editor de texto recebem. Um perfil não é uma fronteira de segurança. A rota de gravação aceita qualquer HTML de um utilizador com a permissão, por isso esconder o elemento HTML não trava um editor determinado. Mais de um perfil precisa do plano DXPR Enterprise.

Carregamento de ficheiros

A rota de carregamento /dxpr_builder/ajax/file_upload:

  • Aceita apenas imagens GIF, JPEG, PNG, WebP, AVIF e SVG, e vídeos WebM, Ogg, MP4 e QuickTime, através da validação de carregamento de ficheiros do Drupal.
  • Limita o tamanho do ficheiro ao limite de carregamento do PHP.
  • Guarda ficheiros em dxpr_builder_images, dxpr_builder_videos ou dxpr_builder_files no diretório de ficheiros predefinido, como ficheiros permanentes.

Ficheiros SVG podem conter scripts que correm quando alguém abre o ficheiro diretamente. É mais uma razão para manter a permissão de edição para funções de confiança.

Num site cujo sistema de ficheiros predefinido é privado, os ficheiros nas pastas privadas dxpr_builder_images e dxpr_builder_videos são servidos a cada visitante, porque as páginas do construtor mostram-nos publicamente. Não carregue ficheiros confidenciais através do construtor.

O que se segue?

Afinar o desempenho para páginas mais rápidas para continuar a explorar o DXPR Builder.