Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Работа приложения с сервером
У меня в приложении есть мини-игры. Когда игрок проходит мини-игру, приложение получает его данные из бд, затем по ним отправляет ему в бд опыт за прохождение. Вроде как любой игрок, зная свои данные, адрес сервера моей игры и команду(у меня они определяют скль запрос, в кот-подставляются полученные данные), которая набавляет опыт, может скриптиком сделать это сколько угодно раз. Вопрос - как можно выстроить дополнительную защиту, какую-нибудь хитрю проверку? [+] 1 пункт от ScorpioT1000: 4.5 (тема не в том разделе)
|
03.03.2013, 17:30 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Логика миниигр держится на сервере, на сервер в ходе игры отсылаются команды игрока. По-другому никак, любая система - защита от дурака. |
03.03.2013, 18:03 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, я хочу узнать, как защитить приложения от описанного примера - "любой игрок, зная свои данные, адрес сервера моей игры и команду(у меня они определяют скль запрос, в кот-подставляются полученные данные), которая набавляет опыт, может скриптиком сделать это сколько угодно раз". |
03.03.2013, 19:12 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Kiran, а я хочу узнать, читал ли ты мой пост, и почему ты адресуешь мне свой, если этого не делал. |
03.03.2013, 19:20 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, а ты мой читал? У меня на сервер как раз отсылается не полноценный скль запрос, а только параметры для того или иного запроса с сервера. Например, для получения данных игрока на сервер посылаются 3 переменные - название команды получения данных, секрет и имя игрока. И всё бы хорошо, да сам игрок может без проблем посмотреть свои отправленные данные, а после написать скрипт, которым будет отправлять данные для набавления опыта. |
03.03.2013, 20:09 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Kiran, какой sql и при чем тут он? Что конкретно ты употребляешь для настолько искаженного восприятия реальности? Когда отойдешь, прочитай мой первый пост еще несколько (желательно больше пяти) раз и напиши, что конкретно тебе в нем не ясно и как ты его понимаешь. |
03.03.2013, 20:44 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, от не надо горбиться и лезть под мост) Похоже, ты сам неправильно понял мой пост. Вернее, представил игру неправильно. В общем, она состоит из мини-игр и у игрока есть персонаж с характеристиками как в рпг, они влияют на прохождение различных мини-игр. Диалог сервера с игрой происходит, когда игрок проходит мини-игру и его персонажу начисляется опыт, записываясь в базу данных. |
03.03.2013, 22:41 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Не люблю повторяться. Я все прекрасно понял. Другое дело что ты не хочешь/не пытаешься понять то, что я написал. |
03.03.2013, 22:47 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, дак объяснил бы другими словами, например. |
03.03.2013, 22:48 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Окей.
Клиент отсылает команды игрока на сервер, на котором работает логика миниигр. Добавление для детей, не могущих в логику: сервер отсылает состояние игры обратно. |
03.03.2013, 23:31 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, так, а теперь расскажи мне как ты понял мой пост, то бишь как у меня сделан диалог игры с сервером и в чём суть игры и моей проблемы вообще. |
03.03.2013, 23:44 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Я не понял, я ЗНАЮ как у тебя сделано. И сделано очень плохо. Игрок проходит игру, на сервер отправляется пакет с сообщением о пройденной игре, сервер добавляет нужную хрень. Прошу не судить людей о себе, если у тебя гуманитарный склад ума, это не значит, что у окружающих такой же. Ты допускаешь типичную ошибку, я пытаюсь объяснить тебе типовое решение, которое ты в силу собственной надуманной ограниченности понимать не хочешь. |
03.03.2013, 23:59 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, давно не видел такого жалкого троллинга) Понимаешь ли, Док, проблема не в реализации, а в том, что игрок в любом случае может узнать, что отправляет клиент на сервер, создать скриптик и послать тоже самое столько раз, сколько потребуется. И всё-таки давай уже веди себя не как школьник, смешно же) |
04.03.2013, 00:12 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Kiran, все ясно, ты просто дурачок-гуманитарий. Удаляюсь из треда минимум на неделю, как раз один пункт. Клиент у него узнать может. Уже несколько клиент-серверных систем написано своими руками, ммо, сайт, мультиплеер игра. А у него клиент узнает. Ну и дебилы пошли. Обидно. |
04.03.2013, 00:16 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, ой, покажи хоть одну) |
04.03.2013, 00:20 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mihahail
๏̯͡๏
offline
Опыт:
17,766Активность: |
Kiran, всё просто. Ты не можешь никаким образом узнать, что творится внутри коробки "пользователь", но хочешь как-то сделать так, чтобы коробка отправляла только правильные данные.
Возможное, но тупиковое решение - ассиметрично шифровать хитрым шифром на стороне клиента его "сообщения" серверу, тогда юзер либо сдастся не в силах сделать реверс-инжиниринг твоего приложения, либо найдётся один умник, который сделает это и расскажет всем, и поверь, он найдется. Поэтому последуй совету дока, реализуй логику на сервере. Игрок отправляет данные, сервер обрабатывает их и посылает данные, по которым рисуется картинка. Если тебе так критично переделывание всех твоих изделий, то думать надо было при проектировании. |
04.03.2013, 00:23 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
|
04.03.2013, 00:33 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Как я и сказал. Любая защита подобного рода - защита от дурака. Но последнее предложение не очень верно. Изначально вполне можно (но лучше не надо) исходить из условия, что твое поделие нахер не кому не уперлось (а так в 99% случаев и есть), но вот когда аудитория начнет (шутите чтоли, не начнет ведь, ведь говноподелие на гамаке никому не нужно) расти - обнаружатся проблемы. Тот самый кулхацкер выделится из тысячи безликих пользователей и подожжет тебе задницу.
Опчик просто не понимает, какой он дурачок, а когдай поймет постарается просто забыть мои слова. |
04.03.2013, 00:39 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Doc, дак может таки покажешь работу мастера?) Мне правда интересно. |
04.03.2013, 00:45 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Конечно, друже.
К сожалению, я уже не помню как запускать поделие со второго скриншота, но что делать, ты, думаю, поймешь :3
Третье, король гейммейкера, это скриншотер, к сожалению сишарп не очень дружит с линуксом даже под моно, поэтому держи няшный лифпад с инструкциями.
Знатно у меня пригорело, а. |
04.03.2013, 00:52 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|