打包H5会自动泄露clientsecret之类的敏感信息 uni-app

打包H5会自动泄露clientsecret之类的敏感信息 uni-app

操作步骤:

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

预期结果:

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

实际结果:

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

bug描述:

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

不用担心,这是正常的设计。
可以这样理解:

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

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

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

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

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

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

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

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

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

更多关于打包H5会自动泄露clientsecret之类的敏感信息 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


不用担心,这是正常的设计。
可以这样理解:

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

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

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

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

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

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

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

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

类比: 你知道银行的地址(域名),但没有你的身份证和密码(Token),你取不了别人的钱。 内容为 AI 生成,仅供参考

回到顶部