安全.

Learn DXPR BuilderManage the siteVoldoen aan compliance-eisen

本页列出了 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 下)为非编辑人员运行字段的文本格式。编辑人员仍看到原始内容。严格的格式也可能剥离构建器标记,因此请在开启状态下测试页面。

AI 输出有自己的过滤器。在 DXPR Studio > DXPR Builder > AI 下,AI Output Filtering 将生成内容的域名限制在您列出的 Allowed domains 内。

用户权限

DXPR Builder 定义了三个权限:

权限 标签 授予
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(保存、模板、区块和视图)
  • /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 文件可能包含脚本,在直接打开文件时运行。这也是将编辑权限保留给可信角色的又一个原因。

在默认文件系统为私有的网站上,私有 dxpr_builder_images 和 dxpr_builder_videos 文件夹中的文件仍会提供给每位访客,因为构建器页面公开显示它们。请勿通过构建器上传机密文件。

接下来做什么?

让页面更快的性能调优,继续探索 DXPR Builder。