Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.02.2008, 23:10
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 1  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
По умолчанию Безопасная пересылка переменных

Здравствуйте.
Хочу сейчас затронуть теоретическую тему по поводу безопасной передачи переменных из флеша в пхп.
Делаю игру, и, после каждой последующей минуты передается информация про текущее состояние счета игрока.

Игра идет на кредиты, которые игрок должен набирать понемножку.

Знакомый программист говорит, что можно очень легко перехватить переменные и выслать скрипту новые данные (например, сразу 1000 кредитов).

Скажите, пожалуйста, какие есть способы сохранности и приватности пересылаемых данных, чтобы их нельзя было перехватить?

Спасибо.

Старый 04.02.2008, 23:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Перехватить можно все. Поэтому надо сделать так, чтобы перехватывать нечего было.
Такие вещи, как инкрементация кредитов должны происходить на стороне сервера, а не клиента. Все действия, которые делает юзер, должны отсылаться на сервер, где будет просчитана соответствующая логика.

Старый 05.02.2008, 02:30
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 3  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
Но, например, эти самые действия можно посылать и не флешем?

Суть игры такова - двигаются вагонетки с золотом и камнем. Если юзер вытаскает золото, к общей сумме инкрементируется стоимость вытащенного золота (http://cs.if.ua/game). Если, допустим, отсылать запрос на сервер, что юзер только что взял золото, то этот же запрос можно также подделать?

Как же быть?
Спасибо.

Старый 05.02.2008, 02:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Отправлять на сервер «юзер ткнул по такой-то вагонетке». А уж вытащил или нет — решает сервер, а не клиент.

Старый 05.02.2008, 02:55
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 5  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Флеш-клиент только показывает юзеру то, что происходит на сервере + отсылает серверу комманды юзера! На сервере нужно проверять комманды прийнятые от клиента на корректность, так как можно и без клиента отправить серверу комманды не допустимые в данный момент или вообще! Короче и т.д. и т.п.

Старый 07.02.2008, 12:15
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 6  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
Спасибо ребята за месседжы. Будем выходить таким способом -
В базе создадим еще одно поле с циферками. Оно будет служить для защиты от вызовов метода для добавление новых значений золота в базу. Суть - как только пользователь загружает игру, в хмл пхп передаст ему секретное значение набора цифр, и, в базу запишет тоже число.

Как только пользователь начинает тащить золото, скрипту пересылается количество вытаскиваемого золота вместе с этим и секретная переменная. пхп проверяет, одинаковое ли значение принятой переменной от флеша и та, что есть в базе. Если совпадает, делается запись и генерируется новое число, записывается в базу и передается опять во флеш.

Старый 07.02.2008, 17:14
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
А что мешает посмотреть какое число пришло и использовать его в своих целях?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 07.02.2008, 17:25
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 8  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
А как-же он будет знать это число? Как мне программер сказал, перехватывать можно только передачу параметров. Юзверь сможет получить число уже то, что будет неактуально, так как когда оно поступит в скрипт, пхп сверяет его с тем, что было до этого, записывает данные в базу по золоту и генерирует новое число. Оно записывается в базу и генерируется в хмл. Флеш получает новое число и, когда юзверь хватает камешек, опять высылается инфа с новым секретным числом и так до бесконечия, пока игра не надоест нашему хакеру.

Старый 07.02.2008, 17:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
А программер забыл сказать, что перехвать можно не только передачу, но и прием?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 07.02.2008, 18:34
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 10  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
Видимо, не забыл, а просто не сказал.

Стремная игрушка а сколько мороки.....

Как вы посоветуете реализовать этот механизм? Даже не имею представления, как можно защитить базу от злых геймеров.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.