2016-03-18 34 views
0

我正在從事網站的用戶可以玩javascript遊戲。我一直在網上學習js,但我遠不是專家。爲了防止在遊戲中作弊,我已經實現了所有使用php和會話變量的邏輯。現在我的問題是:用戶可以使用js注入多少?Javascript注入限制?

我知道它可以用來編輯/查看變量和值,但用戶可以儘可能註釋掉我已寫的函數並編寫自己的函數嗎?如果這是可能的,那麼似乎沒有辦法防止作弊。

回答

0

是的,他們實際上可以。你無法防止作弊客戶端,這就是爲什麼你需要強大的邏輯服務器端。

如果你看看像greasemonkey或tampermonkey這樣的項目,這些擴展允許你輕鬆地將javascript注入任何網站。

那該怎麼辦?

數值必須在服務器端:金錢,馬力,法力值,轉數,屏幕上顯示的重要事物的數量。然後,當客戶向您發送行動時,您必須檢查邏輯:他可以在哪裏獲得這筆錢?

基於時間的動作也是一個很好的衡量標準:他每秒做多少動作?爲什麼他花了10分鐘回答1分鐘測試?

這是僞僞代碼,因爲我不知道你的遊戲的性質,但它應該讓你開始。

+0

是的,我用代碼保存了所有值的服務器端,以檢查是否可以如此迅速地獲得如此多的點。我正在試驗一個簡單的蛇遊戲,並且保護作用似乎很穩固。我擔心的是有人寫自己的js功能來自主玩遊戲,儘可能做出最好的動作,而且不會撞到牆上。 – Jay

+0

你正在做一個簡單的遊戲。它會被騙。大公司的複雜模型也被機器人欺騙了,沒有什麼值得慚愧的。 – Aschab