![]() |
Безопасность.
Есть флэш игра, которая взаимодействует с SQL через PHP.
Допустим есть какая то переменная. которая храниться в SQL на сервере. Загружаю эту переменную во флэш, отправляя запрос на сервер, он мне возвращает его значение. И теперь у меня есть эта переменная, и допустим у меня эта переменная меняется, и мне нужно передать на сервер что она изменена. Я формирую запрос, и отправляю на сервер, он записывает в базу новую переменную. Но вот загвоздка. Какой нить читэр легко может посмотреть код флэш приложения, найти как формируется запрос для изменения переменной, сфабриковать запрос, что сделает его возможности безграничными. Как можно это пресечь? |
Убить читера. Более никак
|
Читеру даже код смотреть не надо, он может воспользоваться каким-нибудь ArtMoney. В сетевой игре все расчёты игровой ситуации должны происходить на сервере, у игрока в клиенте информация только отображается.
|
ну да ну да, плюс ко всему читер может даже оперировать не деньгами а самими запросами отсылаемыми на сервер, из серии пошел туда то, сделал то то... здесь вся защита должна быть на уровне логики сервера, то есть чтобы не получилось что человек сидит например у него в в его виртуальном кошельке 15р, через пол минуты уже оказывается что у него там 10000р
|
Цитата:
|
Цитата:
|
Цитата:
|
думаю прям совсем готовых решений нет, я можно указать в каком направлении вам двигаться: от читеров лучше всего проверять расхождения между действиями ну а так же можно кодировать запросы но сильно это конечно не спасет ситуацию, плюс там всякие сокеты
как уже писалось не раз на этом форуме: идеальных защит не существует, разве что саму игру ни кому не показывать, так что пробуем усложнить жизнь читерам а так же себе... |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Представляю так: Я пишу флэшку, скажем в ней есть кнопка на изменение переменной, чтобы ее нельзя было совсем легко подделать, я храню ее на сервере. Флэшка по нажатию кнопки отправляет запрос на сервер на изменение переменной. НУ скажем я еще и хэш посылаю вместе с ней, и по этому через обычный артмани, эту переменную не поменять в запросе. Но читэр вскрывает код флэшки, смотрит как формируется запрос, потом создает свою флэшку, с поддельным запросом, и мой сервер воспринимаю это как нормальная запрос, меняет переменную. |
Вы упустили следующий момент.
Цитата:
|
Цитата:
|
Как же до Вас донести.
Например, есть персонаж, он стоит на карте, есть скрипт, который обрабатывает действия пользователя (actions.php). Возможные действия: пойти налево, пойти направо, пойти вверх, пойти вниз. Любые другие передаваемые скрипту действия игнорируются, то есть пользователь подделав запрос ну никак не сможет пойти по-диагонали. |
Цитата:
|
и INils и mre говорят про одни и те же варианты, дело говорят))
|
Дело то дело.
Но дело в валюте, например чтобы купить что-то надо 10000 попугаев, А у него, 200 попугаев, и злоумышленник фабрикует запрос на получение 10к попугаев, я же не ограничу диапазоном, так как он эти 10к реально может получить. И проблема вовсе не идти направо, налево и пр. |
Цитата:
|
Ладно, смысл понятен, спасибо всем, буду пробовать.
|
Цитата:
Как должно быть: С сервера юзеру приходит 10000 попугаев, что является всего лишь отображением его суммы на сервере. Он хочет купить вещь за 6000 попугаев. Юзер нажимает на кнопку КУПИТЬ и на сервер уходит запрос на осуществление данной транзакции. Сервер проверяет, может ли этот юзер купить эту вещь, хватает ли ему попугаев для этого и т.д. В положительном случае сервер вычитает со счета юзера 6000 попугаев, записывает ему АРТЕФАКТ_1 и шлет сообщение, что теперь у тебя 4000 попугаев и АРТЕФАКТ_1. Как-то так... |
Что-то какие-то странные споры. Что Вы за приложение делаете такое?
По хорошему, флешка вообще никакие переменные не сохраняет в большинстве случаев. Свифт в данном случае - просто вид, а контроллер и модель находятся на сервере. Соответственно, флешка просто, грубо говоря, отсылает действия игрока на сервер, а тот уже решает на что они повлияли и как. Если следовать такой аналогии, то ничего легко ломаемого не сделаешь. |
Цитата:
|
| Часовой пояс GMT +4, время: 09:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.