-1

我正在编写一个游戏客户端/服务器。我使用 Artemis-odb 和 Netty 来处理实体和网络。每个注册玩家都从数据库中分配了一个自动增量 ID。此 ID 与每个客户端/服务器事件相关联。

我想防止客户通过简单的 ID 欺骗来阻止帐户劫持。从理论上讲,防止这种情况的最佳做法是什么?

游戏/客户端不使用 UUID,但如果这是最佳选择则可以。

谢谢!

4

1 回答 1

1

播放器 ID 应该与服务器上该播放器的网络连接上下文相关联(如果您使用 TCP,则为套接字,如果使用 UDP,则为 IP:PORT 对)。

客户端永远不需要将 ID 发送回服务器,因为服务器应该知道 ID 是什么。只要服务器可以将传入的网络数据包与玩家的上下文相关联,就没有实际的欺骗风险,尽管我认为使用 UDP 的风险可能会更高一些。但是,只要您在数据包中包含序列号,就不太可能进行实际利用。

我知道没有真正使用完整 UUID 作为客户端-服务器协议中的玩家标识符的主要网络游戏。

于 2017-04-02T19:12:06.470 回答