Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写一个游戏客户端/服务器。我使用 Artemis-odb 和 Netty 来处理实体和网络。每个注册玩家都从数据库中分配了一个自动增量 ID。此 ID 与每个客户端/服务器事件相关联。
我想防止客户通过简单的 ID 欺骗来阻止帐户劫持。从理论上讲,防止这种情况的最佳做法是什么?
游戏/客户端不使用 UUID,但如果这是最佳选择则可以。
谢谢!
播放器 ID 应该与服务器上该播放器的网络连接上下文相关联(如果您使用 TCP,则为套接字,如果使用 UDP,则为 IP:PORT 对)。
客户端永远不需要将 ID 发送回服务器,因为服务器应该知道 ID 是什么。只要服务器可以将传入的网络数据包与玩家的上下文相关联,就没有实际的欺骗风险,尽管我认为使用 UDP 的风险可能会更高一些。但是,只要您在数据包中包含序列号,就不太可能进行实际利用。
我知道没有真正使用完整 UUID 作为客户端-服务器协议中的玩家标识符的主要网络游戏。