unity3d - 无需登录即可识别移动用户的好方法是什么?

标签 unity3d security authentication

我正在使用 Unity 开发一款手机游戏,我希望能够在他们不登录的情况下识别我的用户(这样当他们向服务器发送数据时我就会知道是他们)。

在这种特定情况下,解决方案不必能够防止数据丢失(这意味着如果用户无法访问服务器上的数据,这并不是世界末日),但是我真的很想避免用户可以访问其他用户数据的情况。

到目前为止,这是我的想法:当用户开始游戏时,会创建一个随机 ID 并将其保存到 PlayerPrefs 中。游戏从那里获取该 ID,将其添加到用户的 IP 地址,并对其进行哈希处理。

然后将此散列发送到服务器,服务器在其数据中保留散列以及发送请求的 IP 地址。

从现在开始,用户向服务器发送的每一个请求都需要经过哈希签名,并且来自这个特定的IP地址。这意味着如果用户清除 PlayerPrefs、卸载游戏或更换设备 - 他们将无法访问服务器上的数据。

您认为这行得通吗,还是不切实际/不安全/低效?

提前致谢!

最佳答案

您可以通过其唯一 ID 来识别设备。适用于 Android 和 iOS。 ( Documentation )

string deviceID = SystemInfo.deviceUniqueIdentifier;

关于unity3d - 无需登录即可识别移动用户的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66591771/

相关文章:

security - 如何配置 IntelliJ 才不会出现安全问题?

session - Mongoose-Auth/Express/Connect 不保留 session 问题

c# - 如何在运行时将脚本添加到实例化对象?

c# - Unity3D C#继承问题

c# - 如何从代码统一安装Android apk

Javascript 安全 : is storing sensitive data in a self invoking function more secure than cookies?

java - 在服务器之间共享 REST token

authentication - 更改用于 TF 命令行的登录帐户

c# - 来自 ... tls : client didn't provide a certificate 的 TLS 握手错误

c# - 如何使弹丸转弯有弧度