拥有动态属性而无需轻松修改

时间:2017-04-27 14:08:38

标签: java property-files

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

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

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

如果我将URL放在某个属性文件中,如果用户可以操作该文件,他们可以找到绕过/劫持此每日许可健康检查的方法。但是通过锁定URL会使其更难更改(需要代码推送到客户端来更新URL),这看起来也是一个坏主意。

我是否可以使用一种或多种方法来允许这样的网址灵活,易于更改,但仍然安全并锁定到只有我的团队可以在网址更改时编辑它的位置?同样的问题可以应用于任何可能发生变化的属性,但仍需要应用某种锁定以防止用户被篡改。

1 个答案:

答案 0 :(得分:1)

我可以想到各种各样的方式:

  • 存储普通网址和哈希值(带有密码盐),以便您知道有人篡改了网址。

  • 存储网址的加密版本

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