在网络应用程序上激活 DEV 模式的最佳方式

问题描述 投票:0回答:1

我有一个网络应用程序 (SPA),可以与我的 iOS 和 Android 应用程序网络视图一起在网络浏览器中工作。我需要一种方法来激活我所说的 DEV 或 DEBUG 模式,以便:

  • 瞄准另一个 API(例如测试 API 或将测试 Web 应用程序插入产品 API)
  • 更改日志级别并将日志发送到服务器,以便我可以看到内部发生了什么
  • 显示额外功能,例如实验性功能
  • 我可以指导来电客户激活这些功能并帮助他调试他的应用程序
  • 可能还会有更多

我向老板建议的是某种作弊代码,就像在 Android 上点击 8 次版本号来激活调试模式一样。例如,您可以在登录字段中输入“SECRET_CODE”,然后三次单击登录,它将显示一个菜单来激活这些内容。出于安全考虑,他不太喜欢这个想法。

我的想法有那么蠢吗?此类内容有最佳实践吗?

web-applications
1个回答
0
投票

如果您愿意将其限制在身份验证后面

这里最好的做法是向经过身份验证的用户提供 DEV/DEBUG 模式并对其进行功能标记。这里的功能标志是:

  1. 前端功能标志(可能是标题中的切换)
  2. 后端功能标志 - 切换特定用户的调试访问权限

通过身份验证阻止的子域(例如 dev.your-webapp.com)是处理版本的一种非常常见的方法,并且可能是您想要在此处使用的子域,尽管不应该与最终用户共享。

如果您不想在身份验证后面限制它(请谨慎操作)

如果您不想允许基于帐户/身份验证的访问,您的问题会稍微复杂一些。

如果您绝对希望能够通过“作弊代码”访问某些调试模式,那么您至少应该将其锁定到预期的设备。您可以将 IP、设备指纹列入白名单、限制对单个会话的访问、时间限制等。我个人会避免这样做。在不知道您要公开的内容的内部细节的情况下,您的老板的安全担忧可能是正确的。

客户不是很好的调试者

最好避免要求客户调试他们自己的应用程序。这是一种很差的用户体验,并且与您交互的人不太可能拥有可以帮助调试的技术知识。记录用户遇到的错误并尽可能在您端进行调试。

© www.soinside.com 2019 - 2024. All rights reserved.