2015-05-19 120 views
0

我正在使用PHP(我是一個總新手),以獲取/設置我的遊戲的分數,並且所有的功能都完美運行,但這很容易破解,因爲我使用Javascript製作遊戲並且用戶可以檢查代碼,看看jQuery的一部分,我發送此信息到服務器這樣如何防止使用PHP的leaderboard表的虛假分數?

$.post("http://theurl/addScore.php", { game: 1, name: myPlayer, score: Number(myScore) }); 

我猜there's沒有一個完美的解決方案,但至少我想知道我怎麼可以反過來說,「黑客「更難以騙子。

任何方式來防止這樣一個簡單的插入數據庫?

+0

您可以嘗試編碼發送給服務器的數據 –

+0

您可以編輯所有文件名和var-names,而不是手動傳遞所有vars,您可以使用隨機名稱或類似於'getPlayerData ' – ThermalCube

+0

http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery –

回答

0
  1. 縮小你的javascript。
  2. 在服務器端檢查不可能的異常分數,如果是這樣,阻止IP /用戶。
  3. 編碼客戶端數據,在服務器端解碼。
+0

那麼,當我完成遊戲時,我總是會縮小js代碼,這很正常。 關於阻止用戶...我不太喜歡這個,這可能是一個錯誤,阻止該用戶將是不公平的,對我來說不是一個好的選擇。 關於客戶端的編碼,這真的是一種選擇嗎?也許我說的是一些愚蠢的東西,但是如果用戶看到編碼是如何完成的,他仍然可以破解它(我不知道這是否合理)。 – torpedete

+0

你也可以給用戶一個臨時禁令。對於編碼,真的,但肯定會變得更難。 – Daan

相關問題