Apifox 帮助文档
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • Apifox Markdown
  • 更新日志
  • Road Map
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • Apifox Markdown
  • 更新日志
  • Road Map
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 前后置操作&脚本
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 私有化部署
    • 联系我们
  • 开始使用
    • 下载 Apifox
    • 基本概念
    • 注册与登录
    • 页面布局
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 导入导出数据
      • 导出数据
      • 手动导入
      • 概述
      • 定时导入(绑定数据源)
      • 导入设置
      • 其它方式导入
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 Apipost
        • 导入 Eolink
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
        • 导入 Postman
        • 导入 OpenAPI/Swagger
  • 设计 API
    • 概述
    • 新建 API 项目
    • 接口基础知识
    • 接口设计规范
    • 模块
    • 请求体多示例配置
    • 响应组件
    • 常用字段
    • 全局参数
    • 历史记录
    • 接口评论
    • 批量管理
    • 通用接口文档
    • 基础知识
      • 接口基本信息
        • 请求头
        • HTTP/2
        • 请求参数编码解码
        • 请求参数与请求体
        • 请求 URL 与方法
      • 认证与授权
        • 概述
        • 支持的授权类型
        • Digest Auth
        • OAuth 1.0
        • OAuth 2.0
        • Hawk Authentication
        • Kerberos
        • NTLM
        • Akamai EdgeGrid
        • CA 和客户端证书
      • 响应与 Cookie
        • 概述
        • API 响应
        • 创建和发送 Cookie
        • 实际请求
        • 提取响应示例
      • 请求代理
        • 网页端中的请求代理
        • 分享文档中的请求代理
        • 客户端中的请求代理
      • API Hub
        • API Hub
    • 数据模型
      • 概述
      • 高级数据类型
      • 构建数据模型
      • 通过 JSON 等生成
      • 新建数据模型
      • 数据模型进阶
        • 使用 oneOf / anyOf / allOf 构建组合模式
        • 使用 discriminator 实现多态数据结构
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 参数列表外观
      • 接口唯一标识
      • 关联测试场景
      • 接口状态
      • 接口字段
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口调试用例
    • 单接口用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 环境管理
      • 全局/环境/模块/临时变量
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 安全性
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • SSE 调试
      • MCP 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SOAP/WebService
      • gRPC 调试
      • Webhook 调试
      • AI Agent Debugger
      • A2A Debugger
      • 使用请求代理调试
      • Dubbo 调试
        • 新建 Dubbo 接口
        • 调试 Dubbo 接口
        • Dubbo 接口文档
      • TCP(Socket)
        • Socket 接口功能简介
        • 报文数据处理器
  • Mock 数据
    • 概述
    • 智能 Mock
    • 自定义 Mock
    • Mock 优先级
    • Mock 脚本
    • 云端 Mock
    • 自托管 Runner Mock
  • 自动化测试
    • 概述
    • 编排场景用例
      • 新建场景用例
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出场景用例数据
    • 运行场景用例
      • 运行场景用例
      • 批量运行场景用例
      • 数据驱动测试
      • 共用测试数据
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试套件
      • 概述
      • 新建测试套件
      • 编排测试套件
      • 本地运行测试套件
      • CLI 运行测试套件
      • 定时任务
    • 测试报告
      • 测试报告
    • API 测试
      • 性能测试
      • 集成测试
      • 端到端测试
      • 回归测试
      • 契约测试
    • Apifox CLI
      • 概述
      • 安装和运行 CLI
      • CLI 命令选项
    • CI/CD
      • 概述
      • 与 Gitlab 集成
      • 与其它更多 CI/CD 平台集成
      • 与 Jenkins 集成
      • Git 提交自动触发测试
      • 与 Github Actions 集成
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义页面代码
    • 自定义域名
    • AI 相关特性
    • SEO 设置
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 功能简介
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
    • AI 分支
  • 管理中心
    • 基本概念
    • 团队入驻
    • 管理团队
      • 团队基本操作
      • 成员角色与权限设置
      • 团队成员管理
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent(Proxy)
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
        • Git 仓库连接
    • 管理组织
      • 组织基本操作
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
      • 订单管理
        • 组织付费经理
  • 离线空间
    • 功能简介
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox AI 功能
    • 总览
    • 启用 AI 功能
    • 生成测试用例
    • 修改数据模型
    • 接口规范性检测
    • 接口文档完整性检测
    • 字段命名
    • 常见问题
  • Apifox MCP Server
    • 新版 MCP 内测
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
    • Apifox 测试步骤之间怎么传递数据?
  • 账号&应用设置
    • 账号设置
    • API 访问令牌
    • 通知
    • 语言设置
    • 快捷键
    • 网络代理
    • 数据备份与恢复
    • 更新 Apifox
    • 实验性功能
  • 身份验证 & Auth 鉴权指南
    • 什么是 API Key
    • 什么是 Bearer Token
    • 什么是 JWT
    • 什么是 Basic Auth
    • 什么是 Digest Auth
    • 什么是 OAuth 1.0
    • 什么是 OAuth 2.0
      • 什么是 OAuth 2.0
      • 授权码授权类型
      • 授权码授权类型,带有 PKCE
      • 隐式授权类型
      • 密码凭证授权类型
      • 客户端凭证授权类型
  • 服务与隐私协议
    • 服务协议
    • 隐私协议
    • 服务等级协议
  • 参考资料
    • API 设计优先理念
    • JSON Schema 介绍
    • JSONPath 介绍
    • XPath 介绍
    • Apifox Markdown 语法
    • CSV 格式规范
    • 正则表达式
    • 安装 Java 环境
    • Runner 运行环境
    • 常见编程语言对应的数据类型
    • Socket 粘包和分包问题
    • 词汇表
    • Apifox Swagger 扩展
      • 概述
      • x-apifox-folder
      • x-apifox-status
      • x-apifox-name
      • x-apifox-maintainer
    • Apifox JSON Schema 扩展
      • 概述
      • x-apifox-mock
      • x-apifox-orders
      • x-apifox-enum
    • 动态值表达式
  • 常见问题
  1. 前后置操作&脚本

安全性

Apifox 客户端支持对部分涉及本地资源访问或代码执行能力的操作进行安全控制。你可以在「安全性」设置中,为可信项目提前配置可使用的能力范围;当项目未提前授权但触发相关操作时,客户端会在执行前弹出确认提示,经用户确认后再继续执行。
通过安全性设置,可以降低敏感能力被误用或非预期调用的风险,使本地能力调用过程更加可控。

进入安全性设置#

你可以通过以下路径进入「安全性」设置:
1
打开 Apifox 客户端,点击右上角「设置」图标
2
在「偏好设置」中选择「安全性」
3
在「安全性」页面中,配置数据库连接、调用外部程序、动态加载 npm 包等能力的授权范围
进入安全性设置

高风险操作授权确认#

部分能力会涉及本地资源访问、外部程序调用或第三方依赖加载。为降低相关能力被误用的风险,Apifox 对这些操作增加了安全授权确认机制。
当前支持配置的能力包括:
数据库连接:控制项目是否可以在前后置操作中使用已配置的数据库连接,降低未经授权的项目或脚本访问数据库资源,或通过 SSH 隧道访问内网资源的风险
调用外部程序:控制项目是否可以调用「外部程序」目录中的脚本或可执行代码文件,降低本地程序被非预期调用的风险
动态加载 npm 包:控制项目是否可以在运行过程中安装并加载 npm 包,降低第三方依赖被误用带来的安全风险
你可以在「安全性」设置中,分别开启或关闭相关能力,并为可信项目配置授权范围。

静态配置:提前授权可信项目#

如果你确认某个项目需要使用数据库连接、调用外部程序或动态加载 npm 包等能力,可以在对应能力下方的「授权项目」中添加该项目。
配置完成后,被授权项目在使用对应能力时,可以按照当前授权规则正常执行。
建议仅为可信项目开启相关能力,并定期检查授权项目列表,避免不再使用或不再可信的项目继续保留敏感能力权限。

动态授权:运行时授权确认#

如果项目未提前授权,但在运行过程中触发了相关高风险操作,客户端会在执行前弹出授权确认提示。
动态授权确认机制
例如,当未提前授权的项目通过前后置脚本调用外部程序时,客户端会提示本次操作可能越过沙盒环境,并询问是否允许当前项目使用该能力。用户确认后,相关操作才会继续执行;如果取消,则本次操作不会继续执行。
这种「静态配置 + 动态授权」确认机制,可以在不影响正常使用的前提下,为敏感能力增加额外的确认环节。

外部程序调用范围限制#

为降低脚本执行带来的安全风险,Apifox 进一步收紧了外部程序调用范围。
现在,客户端和 CLI 仅允许调用「外部程序」目录中的脚本或可执行代码文件。前后置脚本、自动化流程或 CLI 场景中,如果需要调用外部程序,需要先将相关脚本或可执行代码文件放置在「外部程序」目录中,再通过对应方式调用。
这样可以避免脚本从任意路径调用本地程序,降低因执行边界过大带来的潜在安全风险。

executeAsync 的 command 参数限制#

通过 executeAsync 调用外部脚本时,Apifox 同时限制了 command 参数的可选范围,避免脚本执行命令被随意指定。
目前,仅在调用 Python 脚本时支持将 command 指定为 python3。
例如:
如果现有脚本依赖其他 command 参数值,建议根据新的执行规则调整脚本调用方式,避免影响原有流程的正常执行。

使用建议#

1.
建议仅在确有需要时开启数据库连接、调用外部程序、动态加载 npm 包等能力,并只授权给可信项目。
2.
对于团队项目,建议项目管理员或具备安全管理权限的成员统一维护授权范围,避免普通成员误开启高风险能力。
3.
如果你的自动化流程、前后置脚本或 CLI 任务中涉及外部程序调用,请同步检查脚本路径和 command 参数是否符合新的执行规则。
4.
如果项目不再需要某项能力,建议及时在「安全性」设置中关闭对应开关或移除授权项目。
上一页
等待时间
下一页
概述
Built with