2010-09-09 73 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

相關問題