所以我正在用JavaScript編寫遊戲,最大的問題是誰玩的人誰可能有一個JS的體面知識可以打開我的源代碼,弄清楚它是如何工作的,然後將game.score = 100000000000000;
插入控制檯。但是,似乎除了混淆腳本之外,將所有內容都包含在匿名函數中也是有用的。防止用戶執行代碼
(function() {
game_start = function() {
//etc
}
//etc
})();
當我嘗試和運行任何從Chrome控制檯的代碼,它undefined
出現。這是期望的結果,但是有沒有辦法繞過我的方法來使它無用?或者甚至有更好的方法來阻止事情從控制檯運行?
客戶端代碼可以*永遠不會*真正不可破壞。 –
你可以在chrome中添加一個斷點並改變任何你想要的。不要爲此付出太多的努力。最好的辦法是混淆/最小化代碼,這樣很難閱讀。看看類似uglifyjs –
請參閱http://stackoverflow.com/a/11960187/453277 –