Цитата:
Сообщение от Tr1te
Дело то дело.
Но дело в валюте, например чтобы купить что-то надо 10000 попугаев, А у него, 200 попугаев, и злоумышленник фабрикует запрос на получение 10к попугаев, я же не ограничу диапазоном, так как он эти 10к реально может получить.
И проблема вовсе не идти направо, налево и пр.
|
Как происходит у вас: С сервера юзеру приходит 10000 попугаев, он хочет купить вещь за 6000 попугаев. Юзер нажимает на кнопку КУПИТЬ и на сервер уходит сообщение, что у юзера количество попугаев поменялось с 10000 на 4000 и появилась вещь АРТЕФАКТ_1. Это пишется в базу.
Как должно быть: С сервера юзеру приходит 10000 попугаев, что является всего лишь отображением его суммы на сервере. Он хочет купить вещь за 6000 попугаев. Юзер нажимает на кнопку КУПИТЬ и на сервер уходит запрос на осуществление данной транзакции. Сервер проверяет, может ли этот юзер купить эту вещь, хватает ли ему попугаев для этого и т.д. В положительном случае сервер вычитает со счета юзера 6000 попугаев, записывает ему АРТЕФАКТ_1 и шлет сообщение, что теперь у тебя 4000 попугаев и АРТЕФАКТ_1.
Как-то так...