我在Unity开发一款简单的游戏。
我还开发了一个asp.net soap web服务来下载/上传数据。
我将通过https托管在网络服务器上。
我希望只有我的客户端游戏才能访问我的网络服务,因此我认为使用唯一的用户和密码进行保护(无论谁运行我的游戏都有相同的用户e密码存储在源代码中)。
这是一种正确的方法吗?
我该怎么做?
由于
答案 0 :(得分:0)
不确定这对你有帮助,但我会做的是:
1.-登录/密码系统,客户端将访问并且一旦被授予将生成唯一ID,此ID将具有到期时间,并且一旦过期,则需要新登录以允许进一步通信2.-每次客户端尝试访问需要发送ID的Web服务时,都会在后端确认并根据需要更改/刷新
正如您所看到的那样,传统的方法,熟练的程序员将破坏您所做的任何保护,您可以使用challenge-response authentication强化它,在这种方法中,客户端和服务器必须具有相同的算法。在密码验证之后(或之前,或从不,如果你想),服务器发送一个由客户端算法处理的随机数,该算法将结果作为应答发送给服务器,如果服务器结果相同则客户端被处理因为可靠和沟通是允许的
你必须保持你的算法的秘密,如果有人对它进行逆向工程,它将变得无用,显然你必须进行SSL通信以避免中间人攻击和学习你的算法