Obawy dotyczące bezpieczeństwa Javascript

W moim poprzednim pytaniu:Zabezpieczanie czasu gry w JavaScript

... stało się jasne, że czas po stronie klienta w grze Javascript / Canvas po prostu nie będzie bezpieczny. Znam mantrę o nie ufaniu klientowi - to właśnie powoduje moją walkę na pierwszym miejscu. :-)

Tak więc, jeśli przeniosę wszystkie czasy na serwer i po prostu sobie z tym poradzę, oto pytanie uzupełniające. Oczywiście gra musi zostać ukończona przed jej przesłaniem. Ponieważ łamigłówka jest w całości w języku JavaScript, wprowadza to problem z manipulowaniem kodem po stronie klienta w celu sfałszowania zakończenia gry.

Stworzyłem kod JS gry w osobnym pliku klasy. Jeśli tworzę instancję gry jako taką:

var game;
$document.ready(function(){
  game = new Game();
});

... wtedy mogę uzyskać dostęp do obiektu 'game' i wszystkich jego metod i zmiennych za pośrednictwem konsoli.

Jeśli jednak to zrobię:

$document.ready(function(){
  var game = new Game();
});

... wtedy nie mogę uzyskać dostępu do obiektu „gry” przez konsolę. Wydaje się, że to pomaga, ale czy jest coś, czego nie wiem - czy ten obiekt nadal jest dostępny w jakiś sposób, o którym nie wiem lub czy czyni go prywatną odmianą w tej funkcji trochę bezpieczniej?

Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion