2014-01-22 1 views
0

Я разрабатываю HTML5-игру с использованием javascript и холста, и мне интересно, как защитить ее от блокнота firefox или любых других инструментов для инъекций скриптов, подобных этому.Скриншот и безопасность для Firefox

Если какой-либо пользователь может запустить свой собственный код в моем, я действительно не вижу, как предотвратить его вызов методом onWin() или изменить его счет до 1 миллиарда и так далее.

Это такое огромное нарушение безопасности, что я сейчас думаю о его повторном кодировании во flash или java.

Как вы думаете?

С уважением.

+0

Перекодирование в flash или java не имеет значения, если вы собираетесь делать проверки клиентов. – PeeHaa

+0

Я не вижу, какую проверку я мог бы сделать на стороне сервера, чтобы определить, является ли запрос законным или нет. Когда пользователь выигрывает уровень, я могу выполнить запрос ajax для обновления базы данных, но с помощью scracthpad любой пользователь может вызвать это без воспроизведения или установить все флаги цели до «истины» перед вызовом и т. Д. Любая дополнительная информация, которую я мог бы добавление запроса может быть просмотрено пользователем. Сервер не может знать, действительно ли уровень был воспроизведен или нет. – Stnaire

ответ

0

Вот что вам нужно сделать:

  • На стороне сервера вам нужно проверить только авторизованный пользователь может обновление каких-либо данных в сервере.
  • Итак, если на сервере перед обновлением требуется какой-либо запрос на обновление, вам необходимо убедиться, что клиент уполномочен на это.
+0

С помощью блокнота пользователь может вызывать внутренний код игры, поэтому код в разрешенном контексте и т. Д. Между вызовом метода onWin() из игрового цикла или блокнота не будет никакой разницы. Как их отличить? – Stnaire

+0

Вы не можете различать JavaScript. На самом деле пользователь от клиента может отправить любое дерьмо. Вам нужно различать сервер. – Falaque

+0

Так что я не вижу, как реализовать свое первое предложение. – Stnaire