Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Безопасность. Как обезопасить приложение. (http://www.flasher.ru/forum/showthread.php?t=152616)

aaanet 20.03.2011 16:13

Безопасность. Как обезопасить приложение.
 
Доброго времени суток!

Поиском пользовался, ничего более-менее 100%го не находил.
Столкнулся с созданием приложения ВКонтакте.
Более-менее всё понятно, особых вопросов нету, кроме... безопасности.

Если:
1. Проверять auth_key.
2. Обфусцировать приложение.
3. Слать "левые"/шифрованные, хотябы md5 запросы.
4. Запутывать эти самые запросы.

Всё это конечно хорошо, но это избавит от школьников, не более того. Эти запросы легко дублировать. Кстати, что делать против дублирования?

Какие еще способы обезопасить приложение есть?

Спасибо!

Astraport 20.03.2011 16:28

Недавно давали код как принимать запросы на сервере только по определенным IP.

etc 20.03.2011 16:29

От дублирования в каком смысле?

aaanet 20.03.2011 17:11

Цитата:

Сообщение от etc (Сообщение 982110)
От дублирования в каком смысле?

К примеру, посылаем запрос на php скрипт. Который в свою очередь проверяет auth_key и еще несколько зашифрованных параметров. И, к примеру, php скрипт отвечает за добавления очков в БД. Но, ведь можно все эти запросы послать по несколько раз. И прибавиться N'ое количество очков.

Цитата:

Сообщение от Astraport (Сообщение 982110)
Недавно давали код как принимать запросы на сервере только по определенным IP.
?

На сколько мне известно, контакт не разрешает собирать у юзеров такие данные, как IP, могу конечно ошибаться.
Но в любом случае, от дублирования не спастись таким способом, но всё же.

etc 20.03.2011 17:21

Цитата:

Сообщение от aaanet (Сообщение 982131)
К примеру, посылаем запрос на php скрипт. Который в свою очередь проверяет auth_key и еще несколько зашифрованных параметров. И, к примеру, php скрипт отвечает за добавления очков в БД. Но, ведь можно все эти запросы послать по несколько раз. И прибавиться N'ое количество очков.

Это значит, что у вас криво написан сервер, который не запрещает повторную отправку. Правьте сервер.

goodguy 20.03.2011 17:24

Тоже заинтересовал этот вопрос.
Цитата:

Это значит, что у вас криво написан сервер, который не запрещает повторную отправку.
Ну а если сделать, чтобы запрещал, то как само приложение сможет отправить еще один, реальный, запрос?
Как такое лучше реализовать?

aaanet 20.03.2011 17:25

Цитата:

Сообщение от etc (Сообщение 982134)
Это значит, что у вас криво написан сервер, который не запрещает повторную отправку. Правьте сервер.

Подскажите, как?
Ведь можно этот же запрос повторить, к примеру, через 10 минут, или через 1 час.

etc 20.03.2011 17:25

Цитата:

Сообщение от aaanet (Сообщение 982136)
Подскажите, как?
Ведь можно этот же запрос повторить, к примеру, через 10 минут, или через 1 час.

Заводите сессию, убивайте после получения очков, хотя бы.

aaanet 20.03.2011 17:30

Цитата:

Сообщение от etc (Сообщение 982137)
Заводите сессию, убивайте после получения очков, хотя бы.

Ну сессия в PHP. А тут снова такой же запрос, и в этом запросе всё как и от самого приложения. И снова в php создастся сессия, добавяться очки и сессия завершится. Тоже по-моему дублировать без проблем можно.

etc 20.03.2011 17:32

aaanet, id-сессии использовать в качестве ключа для запроса нужно. Хотя бы.


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

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