Bezpieczeństwo.

Learn DXPR BuilderManage the siteVoldoen aan compliance-eisen

Ta strona wymienia, co kreator DXPR chroni samodzielnie, a o czym decydujesz: kto może edytować, czy wynik dla odwiedzających przechodzi przez filtry formatu tekstu i jakie pliki redaktorzy mogą przesyłać.

Wynik kreatora i formaty tekstu

Kreator zapisuje stronę jako HTML w polu i pokazuje ten HTML tak, jak zapisano. Filtry formatu tekstu domyślnie nie działają na polach kreatora. Użytkownik z uprawnieniem Edit with DXPR Builder, mogący edytować stronę, może więc dodać do niej dowolny HTML, w tym skrypty w elemencie HTML. Przyznawaj uprawnienie tylko zaufanym rolom; Drupal oznacza je jako ograniczone na stronie uprawnień.

Apply text format filters to frontend content w DXPR Studio > DXPR Builder > General Settings > Text Filters uruchamia format tekstu pola dla użytkowników niebędących redaktorami. Redaktorzy nadal widzą surową treść. Restrykcyjny format może też usuwać znaczniki kreatora, więc testuj przy nim strony.

Wynik AI ma własny filtr. W DXPR Studio > DXPR Builder > AI opcja AI Output Filtering ogranicza generowane treści do wymienionych Allowed domains.

Uprawnienia użytkowników

Kreator DXPR definiuje trzy uprawnienia:

Uprawnienie Etykieta Przyznaje
edit with dxpr builder Edit with DXPR Builder Używanie kreatora w treściach, które użytkownik może edytować; każde takie konto zużywa licencję
administer dxpr builder configuration Administer DXPR Builder configuration General Settings, ustawienia AI, User Licenses, Content items i Migrations
administer dxpr_builder_profile Administer dxpr builder profile User Profiles

Strony administracyjne Page Templates i User Templates wymagają podstawowego uprawnienia Administer site configuration.

Edytor potrzebuje też dostępu do aktualizacji samej treści, na przykład Basic page: Edit any content. Każdy zapis sprawdza go ponownie na serwerze.

Trasy AJAX i ochrona CSRF

Te trasy przyjmują żądania tylko z tokenem CSRF i tylko od konta z uprawnieniem Edit with DXPR Builder, niewykluczonego z edycji:

  • /dxpr_builder/ajax (zapisywanie, szablony, bloki i widoki)
  • /dxpr_builder/ajax/ai/chat (asystent tekstowy AI)
  • /dxpr_builder/ajax/ai/image (generowanie obrazów przez AI)
  • /dxpr_builder/ajax/ai/image/edit (edycja obrazów przez AI)
  • /dxpr_builder/ajax/file_upload (przesyłanie plików)

/dxpr_builder/user-settings i /dxpr_builder/entity-link-suggestions też wymagają tokenu i uprawnienia. Edytor pobiera świeże tokeny z /dxpr_builder/csrf, który odpowiada tylko kontom mogącym edytować. /dxpr_builder/media-library wymaga View media. Ręczna konfiguracja nie jest potrzebna.

Profile użytkowników

Profile użytkowników kształtują edytor dla każdej roli: które Elements, Blocks, Views, Page templates, Global user templates i Icon sets redaktorzy widzą oraz które przyciski edytora tekstu dostają. Profil nie jest granicą bezpieczeństwa. Trasa zapisu przyjmuje dowolny HTML od użytkownika z uprawnieniem, więc ukrycie elementu HTML nie powstrzyma zdeterminowanego redaktora. Więcej niż jeden profil wymaga planu DXPR Enterprise.

Przesyłanie plików

Trasa przesyłania /dxpr_builder/ajax/file_upload:

  • Przyjmuje tylko obrazy GIF, JPEG, PNG, WebP, AVIF i SVG oraz filmy WebM, Ogg, MP4 i QuickTime, przez drupalową walidację przesyłania plików.
  • Ogranicza rozmiar pliku do limitu przesyłania PHP.
  • Przechowuje pliki w dxpr_builder_images, dxpr_builder_videos albo dxpr_builder_files w domyślnym katalogu plików, jako pliki trwałe.

Pliki SVG mogą zawierać skrypty uruchamiane, gdy ktoś otworzy plik bezpośrednio. To kolejny powód, aby uprawnienie edycji trzymać przy zaufanych rolach.

W witrynie z prywatnym domyślnym systemem plików pliki w prywatnych katalogach dxpr_builder_images i dxpr_builder_videos serwowane są każdemu odwiedzającemu, ponieważ strony kreatora pokazują je publicznie. Nie przesyłaj kreatorem plików poufnych.

Co dalej?

Strojenie wydajności dla szybszych stron: kontynuuj poznawanie kreatora DXPR.