2013-12-08 3 views
0

Итак, я пишу игрового клиента с помощью WebSockets. Тем не менее, я хочу, чтобы люди не обманывали и не отправляли определенные данные на сервер. Могут ли люди изменить html и javascript на странице, чтобы изменить, какие данные отправляются в WebSockets?Могут ли пользователи изменять WebSockets?

Если да, то как я могу предотвратить это?

+5

Вы не можете предотвратить это, поэтому валидация должна произойти на сервере, чтобы убедиться, что все действительно. – epascarello

+0

Можете ли вы дать мне пример того, как я могу проверить данные? –

+1

'if (data! =" Что это должно быть ") print« Cheater! »;' – JJJ

ответ

1

Это большая вещь об «обмане» и «взломе» в (многопользовательских) играх. Данные, поступающие от клиента (а иногда и сервера), могут быть никогда не.

Подумайте о «телепортном взломе» в игре с шутером. Ваш клиент отправляет вашим игрокам новую позицию на сервер, как только вы переедете. Если вы хотите обмануть, вы можете просто манипулировать своим клиентом, чтобы отправить координаты позиции, к которой вы хотите телепортироваться.

В настоящее время существует два возможных результата:

1) Разработчики не заботятся о мошенниками, при кодировании на стороне сервера приложения. Сервер принимает новую позицию, хотя невозможно, чтобы ваш клиент переместился в эту позицию с момента последнего обновления позиции.

2) Разработчики были умны и написали интеллектуальный сервер. Прежде чем принимать новые координаты, сервер проверяет, возможно ли, что ваш плеер переместился в указанное место с момента последнего обновления. Если это так, сервер принимает его. Если это не так, вы получите запрет на следующие 1000 лет.

+0

Спасибо за информацию. Я думаю, это похоже на то, что я сказал, что у меня есть подтверждение данных на сервере, так что ВСЕ должно быть сделано serveride. –

+0

. Охлаждающая вещь об этом типе защиты читов заключается в том, что он действительно работает и не может быть обойден (если ваша серверная логика isn ' t bugged). Недостатком является то, что он не может использоваться для предотвращения * всех * типов обмана. Что-то вроде прицельного прицела не может быть обнаружено на стороне сервера надежно. –

+0

Awesome, спасибо! Это будет немного сложно, так как это игра, которая также действует как игровой движок. Поэтому я должен проверить определенные данные, где допускаются модификации. –

Смежные вопросы