Проверка подлинности вызова приложения - PullRequest
0 голосов
/ 26 октября 2010

мои знания флэш и других веб-технологий не так уж хороши, но мне было интересно, как сайты с их собственным API для приложений (например, Facebook) проверяют подлинность вызовов из приложения?Я не очень знаком с API Facebook, но Вконтакте (аналогичный сайт) использует секретный ключ, идентификатор сессии и параметры метода для генерации запроса.Почему кто-то со злонамеренным намерением не может обработать эти параметры, когда приложение находится во время выполнения, и отправить совершенно другой запрос, скажем, путем изменения пакетов?Я планировал написать приложение для Вконтакте, но я не понимаю, как эти приложения защищены.Я также был бы очень признателен, если бы кто-то мог порекомендовать мне любую литературу по этим вопросам.

1 Ответ

3 голосов
/ 27 октября 2010

Безопасность заключается в том, что ваш общий секрет никогда не должен передаваться через Интернет. Например, в Facebook вы используете секрет своего приложения для проверки cookie на вашем сервере. Если вы не выполняете никакой проверки на сервере, то вы правы в том, что токен доступа или что-то еще не защищено. Однако следует помнить, что с этими сайтами токен доступа связан с одним пользователем. Таким образом, даже если этот человек изменяет файл cookie или любой другой токен доступа, он по-прежнему имеет право доступа только к одной учетной записи Facebook. Таким образом, человек будет делать вредоносные вещи для своего аккаунта.

Таким образом, в случае flash или javascript вы всегда предполагаете, что токен доступа и данные cookie не защищены. Все, что имеет решающее значение для безопасности, вам придется делать на сервере только после проверки данных cookie, чтобы убедиться, что файл cookie поступает из законного источника. Я предполагаю, что вконтакте работает очень похожим образом.

Опять же, самое важное - никогда не передавать ваш секретный ключ за пределы вашего сервера.

...