Какую технику я могу использовать, чтобы мой сервер принимал запрос от игры, которую я построил в Unity? - PullRequest
0 голосов
/ 21 января 2019

Я создаю единую игру, в которой пользователи могут публиковать свои рекорды после успешного матча, моя проблема в том, что некоторые пользователи могут публиковать сообщения непосредственно в API, не играя в матчах. Как мне обуздать такую ​​проблему. Я прочитал несколько статей об использовании собственного мобильного шифрования, чтобы помочь. но я не знаю, как это можно применить к Unity, так как это слой выше нативного. какие методы я могу использовать?

1 Ответ

0 голосов
/ 21 января 2019

Шифрование решит только часть проблемы, когда пользователи отправляют поддельные запросы в ваш API. Но на вашем месте я бы выполнил проверку на стороне сервера на основе параметров, отправленных клиентом.

Как: Отправить один запрос на сервер при запуске матча вместе с необходимыми данными, такими как имя пользователя. Когда совпадение закончено, отправьте другой запрос на сервер, сравните счет с некоторой эвристикой, основанной на том, сколько времени заняло совпадение, и имеет ли значение счет с учетом конкретных настроек пользователя (уровней и оборудования и т. Д.), Если вы сохраните это. информация на сервере.

Почему: нет надежного способа контролировать, что пользователь делает на своем клиенте: он может изменять значения в памяти, отправлять поддельные запросы и так далее. Если пользователь вмешивается в память, чтобы дать ему "100x нанесенный урон", ваш клиент может не знать, и будет должным образом записывать (теперь подделанный) счет и отправлять его в веб-API. Шифрование здесь не поможет, так как запрос похож на реальный, за исключением того, что для начала он содержит поддельный счет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...