我正在寻找一种合适的方法来确保客户发送的高分实际上是真实的(用于全球高分榜),以防止用户发送假分数。
该方法不需要超级安全,但某种程度的安全性会很好。
我在想这样的事情:
www.website.com/submitbest.php?player=bob&score=500&digest=xxxxxxxxxxxxx
我发送玩家姓名和得分以及整个字符串的盐渍哈希。然后,我可以在服务器上查看哈希是否应该是什么。
这还不错吗?我有什么简单的方法可以忽略吗?
答案 0 :(得分:2)
这还不错吗?我有什么简单的方法可以忽略吗?
由你来决定它是否“足够好”。就安全性而言,任何人都可以生成所需的哈希并将散列的高分数发送到服务器,这是微不足道的。所以真正的工作是发现所使用的算法+挑战,它可能会嵌入到代码中,因此可以被发现。
问题的关键是你在服务器上检查用户是否知道散列算法,没有办法真正检查消息是否真实。