XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Работа приложения с сервером
У меня в приложении есть мини-игры. Когда игрок проходит мини-игру, приложение получает его данные из бд, затем по ним отправляет ему в бд опыт за прохождение. Вроде как любой игрок, зная свои данные, адрес сервера моей игры и команду(у меня они определяют скль запрос, в кот-подставляются полученные данные), которая набавляет опыт, может скриптиком сделать это сколько угодно раз. Вопрос - как можно выстроить дополнительную защиту, какую-нибудь хитрю проверку?
[+] 1 пункт от ScorpioT1000: 4.5 (тема не в том разделе)
Старый 03.03.2013, 17:30
Doc

offline
Опыт: 63,163
Активность:
Логика миниигр держится на сервере, на сервер в ходе игры отсылаются команды игрока.
По-другому никак, любая система - защита от дурака.
Старый 03.03.2013, 18:03
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, я хочу узнать, как защитить приложения от описанного примера - "любой игрок, зная свои данные, адрес сервера моей игры и команду(у меня они определяют скль запрос, в кот-подставляются полученные данные), которая набавляет опыт, может скриптиком сделать это сколько угодно раз".
Старый 03.03.2013, 19:12
Doc

offline
Опыт: 63,163
Активность:
Kiran, а я хочу узнать, читал ли ты мой пост, и почему ты адресуешь мне свой, если этого не делал.
Старый 03.03.2013, 19:20
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, а ты мой читал? У меня на сервер как раз отсылается не полноценный скль запрос, а только параметры для того или иного запроса с сервера. Например, для получения данных игрока на сервер посылаются 3 переменные - название команды получения данных, секрет и имя игрока. И всё бы хорошо, да сам игрок может без проблем посмотреть свои отправленные данные, а после написать скрипт, которым будет отправлять данные для набавления опыта.
Старый 03.03.2013, 20:09
Doc

offline
Опыт: 63,163
Активность:
Kiran, какой sql и при чем тут он? Что конкретно ты употребляешь для настолько искаженного восприятия реальности? Когда отойдешь, прочитай мой первый пост еще несколько (желательно больше пяти) раз и напиши, что конкретно тебе в нем не ясно и как ты его понимаешь.
Старый 03.03.2013, 20:44
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, от не надо горбиться и лезть под мост) Похоже, ты сам неправильно понял мой пост. Вернее, представил игру неправильно. В общем, она состоит из мини-игр и у игрока есть персонаж с характеристиками как в рпг, они влияют на прохождение различных мини-игр. Диалог сервера с игрой происходит, когда игрок проходит мини-игру и его персонажу начисляется опыт, записываясь в базу данных.
Старый 03.03.2013, 22:41
Doc

offline
Опыт: 63,163
Активность:
Не люблю повторяться.
Я все прекрасно понял.
Другое дело что ты не хочешь/не пытаешься понять то, что я написал.
Старый 03.03.2013, 22:47
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, дак объяснил бы другими словами, например.
Старый 03.03.2013, 22:48
Doc

offline
Опыт: 63,163
Активность:
Окей.
Клиент отсылает команды игрока на сервер, на котором работает логика миниигр.
Добавление для детей, не могущих в логику: сервер отсылает состояние игры обратно.
Старый 03.03.2013, 23:31
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, так, а теперь расскажи мне как ты понял мой пост, то бишь как у меня сделан диалог игры с сервером и в чём суть игры и моей проблемы вообще.
Старый 03.03.2013, 23:44
Doc

offline
Опыт: 63,163
Активность:
Я не понял, я ЗНАЮ как у тебя сделано. И сделано очень плохо. Игрок проходит игру, на сервер отправляется пакет с сообщением о пройденной игре, сервер добавляет нужную хрень. Прошу не судить людей о себе, если у тебя гуманитарный склад ума, это не значит, что у окружающих такой же. Ты допускаешь типичную ошибку, я пытаюсь объяснить тебе типовое решение, которое ты в силу собственной надуманной ограниченности понимать не хочешь.
Старый 03.03.2013, 23:59
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, давно не видел такого жалкого троллинга) Понимаешь ли, Док, проблема не в реализации, а в том, что игрок в любом случае может узнать, что отправляет клиент на сервер, создать скриптик и послать тоже самое столько раз, сколько потребуется. И всё-таки давай уже веди себя не как школьник, смешно же)
Старый 04.03.2013, 00:12
Doc

offline
Опыт: 63,163
Активность:
Kiran, все ясно, ты просто дурачок-гуманитарий. Удаляюсь из треда минимум на неделю, как раз один пункт.
Клиент у него узнать может. Уже несколько клиент-серверных систем написано своими руками, ммо, сайт, мультиплеер игра. А у него клиент узнает. Ну и дебилы пошли. Обидно.
Старый 04.03.2013, 00:16
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, ой, покажи хоть одну)
Старый 04.03.2013, 00:20
Mihahail
๏̯͡๏
offline
Опыт: 17,766
Активность:
Kiran, всё просто. Ты не можешь никаким образом узнать, что творится внутри коробки "пользователь", но хочешь как-то сделать так, чтобы коробка отправляла только правильные данные.
Возможное, но тупиковое решение - ассиметрично шифровать хитрым шифром на стороне клиента его "сообщения" серверу, тогда юзер либо сдастся не в силах сделать реверс-инжиниринг твоего приложения, либо найдётся один умник, который сделает это и расскажет всем, и поверь, он найдется.
Поэтому последуй совету дока, реализуй логику на сервере. Игрок отправляет данные, сервер обрабатывает их и посылает данные, по которым рисуется картинка.
Если тебе так критично переделывание всех твоих изделий, то думать надо было при проектировании.
Старый 04.03.2013, 00:23
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
"Игрок отправляет данные, сервер обрабатывает их и посылает данные, по которым рисуется картинка."
Mihahail, тс..... у меня так оно и сделано. Doc просто тупит как наивное отверстие, а я забавляюсь. А проблема то в том, что игрок может отправлять данные серваку из своего скрипта, понимаешь?
Старый 04.03.2013, 00:33
Doc

offline
Опыт: 63,163
Активность:
Возможное, но тупиковое решение - ассиметрично шифровать хитрым шифром на стороне клиента его "сообщения" серверу, тогда юзер либо сдастся не в силах сделать реверс-инжиниринг твоего приложения, либо найдётся один умник, который сделает это и расскажет всем, и поверь, он найдется.
Как я и сказал. Любая защита подобного рода - защита от дурака. Но последнее предложение не очень верно. Изначально вполне можно (но лучше не надо) исходить из условия, что твое поделие нахер не кому не уперлось (а так в 99% случаев и есть), но вот когда аудитория начнет (шутите чтоли, не начнет ведь, ведь говноподелие на гамаке никому не нужно) расти - обнаружатся проблемы. Тот самый кулхацкер выделится из тысячи безликих пользователей и подожжет тебе задницу.
Опчик просто не понимает, какой он дурачок, а когдай поймет постарается просто забыть мои слова.
Старый 04.03.2013, 00:39
Kiran
Творю на Game Maker
offline
Опыт: 16,939
Активность:
Doc, дак может таки покажешь работу мастера?) Мне правда интересно.
Старый 04.03.2013, 00:45
Doc

offline
Опыт: 63,163
Активность:
Конечно, друже.
К сожалению, я уже не помню как запускать поделие со второго скриншота, но что делать, ты, думаю, поймешь :3
Третье, король гейммейкера, это скриншотер, к сожалению сишарп не очень дружит с линуксом даже под моно, поэтому держи няшный лифпад с инструкциями.
Знатно у меня пригорело, а.
Старый 04.03.2013, 00:52
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 04:05.