0

快速背景:我正在设计许可系统的某些方面。主应用程序可以被认为是客户端“门户”,我们将在多个环境/客户端/等中安装许多版本的“应用程序”。

验证许可证的过程每天都会发生:客户端应用程序会将一些数据发送到中央许可服务器,以检查许可证是否仍然有效。这也提供了一种将我们的许可证列入黑名单或撤销许可证的方法。

我知道硬编码凭据是个坏主意,这就是为什么我打算让这个 REST“验证”步骤不经过身份验证。当涉及到 URL 时,我试图弄清楚如何使其灵活,同时不让用户访问它。

如果我将 URL 放在某个属性文件中,如果用户可以操纵该文件,他们就可以找到绕过/劫持此每日许可证运行状况检查的方法。但是通过锁定 URL,它使更改变得更加困难(需要将代码推送到客户端以更新 URL),这似乎也是一个坏主意。

是否有一种方法或模式可以让这样的 URL 灵活、易于更改,但仍然安全并锁定在 URL 更改时只有我的团队可以编辑的位置?同样的问题也适用于任何可能发生变化但仍需要应用某种锁定以防止用户篡改的属性。

4

1 回答 1

1

我可以想到各种方法:

  • 存储纯 URL 和哈希(带有秘密盐),以便您知道何时有人篡改了 URL。

  • 存储 URL 的加密版本

但我认为更重要的是您用于许可的协议。无论 URL 指向哪里,您仍然可以通过添加 hosts 条目来转移请求,所以我认为还有更多工作要做。

于 2017-04-27T14:15:39.237 回答