セキュリティ.
このページではDXPR Builderが独自に保護する内容と、利用者が決める内容を列挙します。誰が編集できるか、訪問者向け出力をテキストフォーマットのフィルターに通すか、編集者がアップロードできるファイルはどれかです。
Builderの出力とテキストフォーマット
BuilderはページをフィールドにHTMLとして保存し、保存通りに表示します。テキストフォーマットのフィルターは初期状態ではBuilderフィールドで実行されません。Edit with DXPR Builderを持ちページを編集できる利用者は、HTMLエレメント内のスクリプトを含む任意のHTMLを追加できます。信頼できるロールにのみ権限を付与します。Drupalは権限ページで制限付きとして表示します。
Apply text format filters to frontend content(DXPR Studio > DXPR Builder > General Settings > Text Filters配下)は、編集者でない利用者にフィールドのテキストフォーマットを実行します。編集者は生コンテンツを見続けます。制限的なフォーマットはBuilderマークアップを除去することもあるため、オンにしてページをテストします。
AI出力には独自のフィルターがあります。DXPR Studio > DXPR Builder > AI配下のAI Output Filteringは、生成コンテンツを列挙したAllowed domainsに制限します。
利用者の権限
DXPR Builderは3つの権限を定義します。
| 権限 | ラベル | 付与内容 |
|---|---|---|
edit with dxpr builder |
Edit with DXPR Builder | 利用者が編集できるコンテンツで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(保存、テンプレート、ブロック、Views)/dxpr_builder/ajax/ai/chat(AIテキストアシスタント)/dxpr_builder/ajax/ai/image(AI画像生成)/dxpr_builder/ajax/ai/image/edit(AI画像編集)/dxpr_builder/ajax/file_upload(ファイルアップロード)
/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:
- GIF、JPEG、PNG、WebP、AVIF、SVG画像と、WebM、Ogg、MP4、QuickTime動画のみを、Drupalのファイルアップロード検証を通して受け付けます。
- ファイルサイズをPHPのアップロード上限に制限します。
- ファイルを既定のファイルディレクトリ内の
dxpr_builder_images、dxpr_builder_videos、dxpr_builder_filesに永続ファイルとして保存します。
SVGファイルには、ファイルを直接開いたときに実行されるスクリプトを含められます。編集権限を信頼できるロールに保つもう1つの理由です。
既定のファイルシステムがプライベートのサイトでは、プライベートなdxpr_builder_imagesとdxpr_builder_videosフォルダ内のファイルが全訪問者に提供されます。Builderページが公開表示するためです。Builder経由で機密ファイルをアップロードしないでください。
次のステップ
高速ページのためのパフォーマンス調整でDXPR Builderの探索を続けます。