我有一个网络应用程序 (SPA),可以与我的 iOS 和 Android 应用程序网络视图一起在网络浏览器中工作。我需要一种方法来激活我所说的 DEV 或 DEBUG 模式,以便:
我向老板建议的是某种作弊代码,就像在 Android 上点击 8 次版本号来激活调试模式一样。例如,您可以在登录字段中输入“SECRET_CODE”,然后三次单击登录,它将显示一个菜单来激活这些内容。出于安全考虑,他不太喜欢这个想法。
我的想法有那么蠢吗?此类内容有最佳实践吗?
这里最好的做法是向经过身份验证的用户提供 DEV/DEBUG 模式并对其进行功能标记。这里的功能标志是:
通过身份验证阻止的子域(例如 dev.your-webapp.com)是处理版本的一种非常常见的方法,并且可能是您想要在此处使用的子域,尽管不应该与最终用户共享。
如果您不想允许基于帐户/身份验证的访问,您的问题会稍微复杂一些。
如果您绝对希望能够通过“作弊代码”访问某些调试模式,那么您至少应该将其锁定到预期的设备。您可以将 IP、设备指纹列入白名单、限制对单个会话的访问、时间限制等。我个人会避免这样做。在不知道您要公开的内容的内部细节的情况下,您的老板的安全担忧可能是正确的。
最好避免要求客户调试他们自己的应用程序。这是一种很差的用户体验,并且与您交互的人不太可能拥有可以帮助调试的技术知识。记录用户遇到的错误并尽可能在您端进行调试。