Защита от подделки запросов с клиента на сервер

shark_255

Новичок
Есть html5 игра, с физикой (пинбол). Результаты этой игры (набранные очки) шлются на сервер.
Как сделать, чтобы пользователь не смог подделать его ?
 

shark_255

Новичок
вот в этом собственно и беда. Получается, всю физику нужно параллельно расчитывать на сервере - и это еще не пойми как.
 

shark_255

Новичок
Тогда я наверное неправильно объяснил. Очки набираются в результате столкновений шарика внутри поля. Об этих столкновениях "знает"
только клиент. Потом он отправляет результат игры на сервер - естественно сервер никак не может быть уверен в достоверности исхода игры.

[update] Собственно нашел близко к моему вопросу - http://stackoverflow.com/questions/22349297/what-is-the-most-secure-solution-to-send-ajax-request-and-prevent-data-manipulat
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
shark_255, но угол и силу удара всегда можно передать на сервер и до окончания анимации просчитать ожидаемый результат.
 

akd

dive now, work later
Команда форума
ну чисто теоретически, если вдруг будет нечем заняться, шо меня остановит от передачи серверу нужного угла и силы удара? :)
 
  • Like
Реакции: WMix

WMix

герр M:)ller
Партнер клуба
в этом цель игры, подобрать нужный угол и силу)
нужно просто добавить случайность, "в это время по столу бежал таракан"
 

keltanas

marty cats
shark_255, но угол и силу удара всегда можно передать на сервер и до окончания анимации просчитать ожидаемый результат.
а если подделать запросы, содержащие угол и силу? В любом случае можно сделать бота, который будет симулировать.
 

Lionishy

Новичок
keltanas, такая разработка, почти наверняка, сложнее процессинга самой игры и не имеет смысла в каком бы то ни было виде.
Можно накрутить себе счётчик в онлайн шахматах, посадив вместо себя машину, но программирование такой машины несравнимо сложнее программирования шахматной дуэли.
 

hell0w0rd

Продвинутый новичок
Lionishy, и чего?) А если мы говорим о покер-сайте, на котором люди реальные деньги зарабатывают?)
Если это реальная задачка, я бы отправлял статистику о поведении пользователя, если человек забил 25 голов и ни разу не нажал на клавиатуру - это странно.
А вообще можно шифрование впилить, http://travistidwell.com/jsencrypt/ например.
 

Redjik

Джедай-мастер
Lionishy, и чего?) А если мы говорим о покер-сайте, на котором люди реальные деньги зарабатывают?)
Если это реальная задачка, я бы отправлял статистику о поведении пользователя, если человек забил 25 голов и ни разу не нажал на клавиатуру - это странно.
А вообще можно шифрование впилить, http://travistidwell.com/jsencrypt/ например.
Man in the middle никто не отменял
 

keltanas

marty cats
hell0w0rd, да во всех популярных онлайн играх кто-то зарабатывает реальные деньги, кто-то тратит. Сначала прокачка аккаунтов ботами, а потом продажа шмота и целых аккаунтов. Один знакомый так на жизнь себе зарабатывал... Специально снимал офис... где стояли компы, на которых гоняли боты ))
 

Lionishy

Новичок
keltanas, значит игра так устроена, что действия, описанные Вами, просто-напросто не приносят убытка разработчику и сколько-нибудь чувствительной для разработчика прибыли.
Если бы это был "бизнес", то его бы уже освоил сам разработчик.

hell0w0rd, и чего?)
Если бы была машина, которая способна обыгрывать в покер серьёзных игроков -- в покер перестали бы играть на деньги онлайн.
Так весь gambling работает. Пока нет алгоритма -- играем. Есть стратегия -- чао.

В крайнем случае, можно, действительно, отслеживать варианты игры. Если игра начинает ходить по маловероятным марковским петлям -- откатывать сервер.

Про шифрование.
Код же всё равно известен на стороне клиента, следовательно, все алгоритмы всё равно известны. То есть, защиты это, несомненно, не даёт.
Хотя, конечно, усложняет задачу анализа и повышает стоимость работ злоумышленника, так что смысла не лишено.
 
Последнее редактирование:

Lionishy

Новичок
keltanas, так об этом и речь! Оплачивая премиум голду можно прийти к результату дешевле, чем оплачивая чьи-то сервера с ботами. Это одна из задач при разработке этих самых игр.

А вот если таких "примиум-голдов" нет, значит и прокачка не есть "бизнес".
 
Сверху