보안.
이 페이지에서는 DXPR Builder가 스스로 보호하는 항목과 직접 정하는 항목을 나열합니다. 누가 편집할 수 있는지, 방문자 출력이 텍스트 형식 필터를 거치는지, 편집자가 어떤 파일을 업로드할 수 있는지가 그 내용입니다.
빌더 출력과 텍스트 형식
빌더는 페이지를 필드의 HTML로 저장하고 저장된 그대로 해당 HTML을 표시합니다. 텍스트 형식 필터는 빌더 필드에서 기본적으로 실행되지 않습니다. 따라서 Edit with DXPR Builder 권한이 있고 페이지를 편집할 수 있는 사용자는 HTML 요소의 스크립트를 포함하여 어떤 HTML도 추가할 수 있습니다. 신뢰하는 역할에만 권한을 부여합니다. Drupal은 권한 페이지에서 해당 권한을 제한적으로 표시합니다.
Apply text format filters to frontend content는 DXPR Studio > DXPR Builder > General Settings > Text Filters 아래에 있으며, 편집자가 아닌 사용자에게는 필드의 텍스트 형식을 적용합니다. 편집자에게는 원시 콘텐츠가 계속 표시됩니다. 제한적인 형식은 빌더 마크업을 제거할 수도 있으므로 켜고 페이지를 테스트합니다.
위치는 다음과 같습니다. DXPR Studio > DXPR Builder > AI 아래에서 AI Output Filtering은 나열한 Allowed domains으로 생성 콘텐츠를 제한합니다. AI 출력에는 별도 필터가 있습니다.
사용자 권한
DXPR Builder는 세 가지 권한을 정의합니다.
| Permission | Label | Grants |
|---|---|---|
edit with dxpr builder |
Edit with DXPR Builder | 사용자가 편집할 수 있는 콘텐츠에 빌더를 사용합니다. 이러한 모든 계정은 라이선스를 사용합니다. |
administer dxpr builder configuration |
Administer DXPR Builder configuration | General Settings, AI 설정, User Licenses, Content items, Migrations |
administer dxpr_builder_profile |
Administer dxpr builder profile | User Profiles |
다음 관리 페이지에는 코어 권한이 필요합니다. Page Templates와 User Templates 관리 페이지에는 코어 권한 Administer site configuration이 필요합니다.
에디터에게는 콘텐츠 자체에 대한 업데이트 권한도 필요합니다. 예를 들면 Basic page: Edit any content입니다. 저장할 때마다 서버에서 다시 확인합니다.
AJAX 경로와 CSRF 보호
다음 경로는 CSRF 토큰이 있을 때만, Edit with DXPR Builder 권한이 있고 편집에서 제외되지 않은 계정의 요청만 받습니다.
/dxpr_builder/ajax(saving, templates, blocks and Views)/dxpr_builder/ajax/ai/chat(AI text assistant)/dxpr_builder/ajax/ai/image(AI image generation)/dxpr_builder/ajax/ai/image/edit(AI image editing)/dxpr_builder/ajax/file_upload(file uploads)
/dxpr_builder/user-settings와
/dxpr_builder/entity-link-suggestions에도 토큰과 권한이
필요합니다. 에디터는 /dxpr_builder/csrf에서 새 토큰을
가져오며, 해당 경로는 편집 가능한 계정에만 응답합니다.
/dxpr_builder/media-library에는 View media가
필요합니다. 수동 설정은 필요하지 않습니다.
사용자 프로필
사용자 프로필은 역할마다 에디터를 다듬습니다. 어떤 Elements, Blocks, Views, Page templates, Global user templates, Icon sets을 편집자가 보는지, 어떤 텍스트 에디터 버튼을 받는지 정합니다. 프로필은 보안 경계가 아닙니다. 저장 경로는 권한이 있는 사용자의 모든 HTML을 받으므로 HTML 요소를 숨겨도 결연한 편집자를 막지 못합니다. 둘 이상의 프로필에는 DXPR Enterprise 티어가 필요합니다.
파일 업로드
업로드 경로 /dxpr_builder/ajax/file_upload:
- Drupal의 파일 업로드 검증을 통해 GIF, JPEG, PNG, WebP, AVIF, SVG 이미지만, WebM, Ogg, MP4, QuickTime 동영상만 허용합니다.
- 파일 크기를 PHP 업로드 제한으로 제한합니다.
- 기본 파일 디렉터리의
dxpr_builder_images,dxpr_builder_videos,dxpr_builder_files에 영구 파일로 저장합니다.
SVG 파일에는 직접 열 때 실행되는 스크립트가 들어 있을 수 있습니다. 편집 권한을 신뢰하는 역할에만 유지해야 하는 이유가 하나 더 있습니다.
기본 파일 시스템이 비공개로 설정된 사이트에서는 비공개
dxpr_builder_images와 dxpr_builder_videos 폴더의 파일도
모든 방문자에게 제공됩니다. 빌더 페이지가 공개적으로 표시하기
때문입니다. 빌더로 기밀 파일을 업로드하지 않습니다.
다음 단계
Performance tuning for faster pages에서 DXPR Builder 탐색을 계속합니다.