0

一个客户要求我为其 iPhone 应用程序做一个后端服务器,并且只希望购买该应用程序的用户能够调用该服务器。问题是他不想在应用程序中添加登录系统,所以在我看来,没有完全安全的方法可以防止没有他的应用程序的人调用服务器。无论如何,即使不能完全防止,也足以使没有应用程序的服务器难以访问。

实现这一目标的最佳方法是什么?同样,我不需要完全保护连接,没有敏感信息的传输,我只是想让那些想要在不支付应用程序的情况下利用服务器的人让事情变得更复杂一些。

似乎最简单的想法是使用存储在客户端中并为服务器所知的密钥加密数据,以便仅通过反编译代码并找到密钥才能解密消息(当然,您可以放置​​一个密钥而不是密钥键列表,每 6/12/24 小时更改一次)。

这可能是一个合理的解决方案吗?

4

4 回答 4

0

SSL 连接不足以阻止其他人获取请求的 URL?或者甚至更好地使用带有基本身份验证的 SSL 连接?

于 2012-09-28T01:36:16.117 回答
0

这永远不可能。欢迎来到客户端-服务器架构的本质。你永远不能相信客户。只要确保您公开的功能是安全的。

于 2012-09-27T22:33:41.517 回答
0

好吧,如果它是付费应用程序,您可以免费发布该应用程序,并锁定所有功能,直到用户进行应用程序内购买,然后您可以验证服务器上的收据,从而证明该设备是 iOS 设备?

于 2012-09-28T01:14:40.553 回答
0

在客户端和服务器之间共享密钥似乎是一个不错的方法。但不要仅依赖于存储的密钥,而是尝试将它们与唯一标识符(例如UUID )结合起来,并将其与组合密钥和 UUID 本身一起发送到服务器。

此时用户 UUID 将是他的标识符(用户名),组合键将是他的令牌(密码)。这将是一个类似登录的机制。

于 2012-09-28T01:23:03.287 回答