2010-09-09 74 views
3

我有一个提交游戏得分的表单。有什么方法可以检查提交期间该游戏得分是否未被篡改?我正在使用POST方法,对于GET方法我们可以使用HASH,但是我正在寻找POST方法如何检查数据是否被篡改,而表单在asp.net中是POST POST

+0

不知道你用什么方法来散列你的GET参数,但你可以重用它来散列POST参数。 – 2010-09-09 00:36:27

+0

Xavier你知道关于如何在后期使用HASH的任何片段 – RagZ 2010-09-09 06:27:28

回答

0

你是什么意思被篡改?你是否计算了某些客户端代码中的分数并将其发送回服务器?如果是这样的话,那么没有办法检查。基本规则是绝不隐式信任来自客户端的任何内容。使用服务器端逻辑验证所有内容。

+0

是的,但一般的问题很有趣。如果游戏在客户端本地运行,服务器如何验证分数?我真的不知道如何使用在线记分牌游戏做到这一点;他们中的很多人似乎都是防篡改的,因为记分牌没有被骗子填满。 – Timwi 2010-09-09 00:45:35

+0

我的游戏在Flash上​​运行,游戏结束后,用户将被允许提交他们的分数。所以我在Flash中使用POST方法来发送游戏得分数据。所以我仍然困惑于如何在存储到数据库之前确保数据传输的安全性 – RagZ 2010-09-09 06:26:25

+0

啊,我现在更清楚地看到你在说什么。这绝对是一个有趣的问题,但我还没有机会遇到。今天我会考虑一下。 Flash代码可以根本解体吗?也就是说,内部常量可以从中提取吗?如果不是,那么你最终可能会得到某种内部散列,它将发送的数据与一个时间戳和一些已知的(内部常量)种子结合起来,并将其与POST一起发送。在服务器上,您将使用它包含的时间戳和常量重新对数据进行散列,以查看它是否与提供的散列匹配。 – David 2010-09-09 11:20:04

相关问题