2010-04-25 140 views
0

我想創建一個基於瀏覽器的遊戲,我有一個巨大的問題,遊戲可以很容易地被黑客入侵。問題出在你可以去「工作」的頁面上,我在文件中存儲工作結束日期以及完成工作後你將收到的金額。有4種類型的作品。問題是我使用ajax發送一個php文件的必要信息。該URL看起來像這樣x.php?date = .... & pay = ....頁面的JavaScript部分計算日期和工資,但是如果您只需在您的URL欄中輸入x.php?date = anynumber &支付= 99999您將收到99999美元。我該怎麼辦 ?對不起,我的英文不好:)Ajax安全問題

+0

AJAX本質上是一個安全問題。如果安全性是一個要求,你不會使用它。安全性很簡單,因爲你要麼考慮安全性開發,要麼不考慮安全性。 – 2010-04-25 11:31:52

+2

@奧斯汀 - 我不同意。 AJAX不再比簡單的HTTP更安全。 AJAX **可以被保護,沒有任何神奇的東西。 – 2010-04-25 19:14:08

+0

正確,HTTP就像智者固有的不安全感一樣。如果你想要安全,你也不會使用HTTP。 AJAX向任何位置打開燈塔,無論會話或來源如何,這是不安全的本質。 – 2010-04-25 20:23:30

回答

1

您不應該從客戶端(瀏覽器)發送結束日期和金額。取而代之,只發送工作類型:x.php?worktype = ...

在服務器端的PHP文件中,您可以讀取工作類型,然後根據需要查找或計算結束日期和金額。

如果您有興趣瞭解有關ajax應用程序安全性的更多信息,我還可以推薦Hoffman和Sullivan編寫的「Ajax Security」一書。

+0

謝謝,我認爲這會起作用 – coolboycsaba 2010-04-30 08:11:33

0

當用戶在遊戲中進行交互以「去工作」時,將值存儲在數據庫服務器端?

+0

這些值存儲在服務器上的一個文件中,每個玩家擁有它自己的文件 – coolboycsaba 2010-04-25 10:52:05

+0

然後不要傳遞URL中的參數,在你的用戶會話中使用一個值並使用它在你的PHP中爲你的用戶查找文件並從那裏獲取值。 – 2010-04-25 10:59:37