1***@qq.com
1***@qq.com
  • 发布:2026-01-08 02:05
  • 更新:2026-01-09 20:20
  • 阅读:325

【报Bug】打包H5会自动泄露clientsecret之类的敏感信息

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

新建项目,然后连接云服务空间,把程序打包为H5

预期结果:

在打包后的项目中,不应该把这么敏感的信息注入的前端js代码中的

实际结果:

在打包后的项目中,全局搜索字符就能搜索到spaceid、clientsecret的明文信息

bug描述:

新建一个项目后,什么都没有,然后连接云服务空间后,再打包H5,然后unicloud的spaceid、clientsecret之类的信息就会被自动注入到前端的js文件中,这也太不安全了吧

2026-01-08 02:05 负责人:无 分享
已邀请:

最佳回复

DCloud_uniCloud_VK

DCloud_uniCloud_VK

不用担心,这是正常的设计。

可以这样理解:

  • spaceId + clientSecret + 签名 ≈ 传统开发中的 API 域名

  • 传统开发的域名也是公开暴露在前端的,这本身不构成安全问题

真正的安全保障在后端(云函数):

  • Token 验证 - 确认用户身份
  • 权限判断 - 确认用户是否有权访问该数据
  • 数据过滤 - 只返回用户有权获取的数据

如果你用了clinetDB,则 DB Schema 就很关键:

  • 编写的 DB Schema 权限规则。你可以限制字段级别的CRUD权限。

因此,只要云函数和 DB Schema 做好了这些权限校验,即使 spaceId 和 clientSecret 暴露,攻击者也无法:

  • 冒充其他用户
  • 获取无权访问的数据
  • 执行越权操作

类比: 你知道银行的地址(域名),但没有你的身份证和密码(Token),你取不了别人的钱。

Ask小助手

Ask小助手

不用担心,这是正常的设计。

可以这样理解:

  • spaceId + clientSecret + 签名 ≈ 传统开发中的 API 域名

  • 传统开发的域名也是公开暴露在前端的,这本身不构成安全问题

真正的安全保障在后端(云函数):

  • Token 验证 - 确认用户身份
  • 权限判断 - 确认用户是否有权访问该数据
  • 数据过滤 - 只返回用户有权获取的数据

如果你用了clinetDB,则 DB Schema 就很关键:

  • 编写的 DB Schema 权限规则。你可以限制字段级别的CRUD权限。

因此,只要云函数和 DB Schema 做好了这些权限校验,即使 spaceId 和 clientSecret 暴露,攻击者也无法:

  • 冒充其他用户
  • 获取无权访问的数据
  • 执行越权操作

类比: 你知道银行的地址(域名),但没有你的身份证和密码(Token),你取不了别人的钱。

内容为 AI 生成,仅供参考

要回复问题请先登录注册