Защита приложения от перехвата данных

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
benzema
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05

Защита приложения от перехвата данных

Сообщение benzema »

Всерьёз задумался о защите приложения от школо-хакеров, серьёзных ребят не беру в рассчёт, они если задумают взломать-то у них это получится. Существует такая тема, как перехват трафика приложения (самый банальный пример программы, с помощью которой можно перехватить трафик - HttpWatch). Вопрос: какие данные не следует передавать к php-скрипту с помощью POST-метода? или всё-таки можно передавать любые данные, ведь логин и пасс для подключения к бд находятся в самом php-скрипте? Ясно дело, что нельзя передавать никаких паролей.
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Защита приложения от перехвата данных

Сообщение gpv123 »

https, не?
benzema
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05

Re: Защита приложения от перехвата данных

Сообщение benzema »

gpv123, не совсем понял, что вы хотели мне сказать.
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Защита приложения от перехвата данных

Сообщение alexei »

Перехват можно только при неграмотно настроенной сетки или в публичном Wi Fi.

При перехвате пострадает лишь игрок, который был не осторожен.

А поможет лишь протокол https, вместо http.
benzema
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05

Re: Защита приложения от перехвата данных

Сообщение benzema »

alexei, спасибо, теперь стало всё понятно.
benzema
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05

Re: Защита приложения от перехвата данных

Сообщение benzema »

Дело то в том, что мне интересно как можно прикрыть php скрипт? раньше я использовал такую детскую схему, над всем кодом скрипта я ставил большой
if, в котором проверялось password==''какой-то пароль', а значение в password передавалось из приложения. Но даже HttpWatch мне рассказал какие я переменные передаю и их значения. Поэтому важность этой проверки пароль практически сводится на нет и любой человек может получиться доступ к моей бд через php скрипт.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Защита приложения от перехвата данных

Сообщение Serge »

benzema писал(а):Дело то в том, что мне интересно как можно прикрыть php скрипт? раньше я использовал такую детскую схему, над всем кодом скрипта я ставил большой
if, в котором проверялось password==''какой-то пароль', а значение в password передавалось из приложения. Но даже HttpWatch мне рассказал какие я переменные передаю и их значения. Поэтому важность этой проверки пароль практически сводится на нет и любой человек может получиться доступ к моей бд через php скрипт.
Содержимое php скрипта не видно пользователю.
По-этому, если передавать только важные параметры (а точнее, передавать что сделал пользователь) - то никакого вскрытия не будет.
Ну и если рассмотреть пример покупки чего либо за игровую валюту - наличие нужного количества валюты надо смотреть и на сервере тоже (вернее, можно только на нем, но я считаю такой вариант не очень хорошим, это порождает запрос на сервер даже если нет возможности покупки).
benzema
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05

Re: Защита приложения от перехвата данных

Сообщение benzema »

Но допустим если мы перехватили, при покупке за игровую валюту такие данные:

action: "buyCat" - покупаем кота
uid: 2131231 - id пользователя
password: 1232131 - ключ доступа к выполнению php скрипта(если данные так перехватываются просто, то он и не нужен в простом виде, но если его зашифровать... Про шифрование я сказал так облачно, потому что честно не сталкивался с шифрованием и не пользовался им вобще md5 и тп. Кстате я простукивал другие приложения, там как раз так и этот ключ к скрипту зашифрован)

Нетрудно догадаться, что если мы напишем даже на as 3.0 простое приложение и обратимся к серверу с такими данными(тем более название переменных даже известно), php-скрипт сделает всё что нужно. Это вроде бы и не беда, если проверка на количество денег происходит на сервере, себе мы уже не сделаем бесконечное количество товаров, но опять же мы можем у других пользователей поубавить игровую валюту. - это раз.

А как же быть при покупке игровой валюты за голоса, мы же тут просто посылаем запрос на сервер, на добавление валюты, который злоумышленник сможет выполнить хоть 300 тыс. раз. - это два.(Кстате тут я могу ошибаться, потом у что с payments я тольком не работал)


Объясните мне всё же:
1.Как можно скрыть или зашифровать передачу password ? (gpv123 проснитесь, вы что то начинали говорить про https, а я понимаю что это такое, только не знаю куда прикрутить и с чего начать)
2.Возможно я вобще неправильно работаю с сервером.
Я отправляю запросы к серверу такие:
action: "что делать"
uid: ид пользователя в вк
password: ключ к работе php скрипта.
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Защита приложения от перехвата данных

Сообщение Alazaur »

benzema, не нужно ничего шифровать и добавлять пароль.
Привожу пример покупки товара:
Клиент посылает на сервер данные:

Код: Выделить всё

action: "by"; //действие совершаемое пользователем, предполагаю что "by" сервер воспринимает как покупка товараitemid: 1; //id покупаемого товараviewer_id: 12345; //id пользователяauth_key: 45kj45jkjh45u45; //auth_key вконтакте//можно добавить еще hash: md5 от конкатенации передаваемых данных. (необязателен, но можно использовать как "защиту от домохозяйки")
Сервер по auth_key удостоверяется, что это именно тот пользователь который пришел в viewer_id. Делает запрос в базу, запрашивая данные о товаре itemid. Делает запрос в базу за данными пользователя viewer_id. Проверяет что все нормально (достаточно денег, подходящий уровень, хватает репутации или какие-то еще ваши ограничения на покупку товаров). Если все ок, то покупает товар, если что-то не проходит возвращает ошибку.
В случае покупки игровой валюты за голоса, там вообще сервер вконтакте общается с вашим напрямую, эти запросы пользователь никак перехватить не может.
benzema
Сообщения: 30
Зарегистрирован: 20 июл 2012, 14:05

Re: Защита приложения от перехвата данных

Сообщение benzema »

Alazaur, теперь всё стало понятно, спасибо. Пожал бы руку вам!
Ответить